
/* Materialize theme bridge for Turma da Terca - generated from supplied full-version.zip */
:root {
  --tt-mat-primary: #0b1d3a;
  --tt-mat-primary-rgb: 11, 29, 58;
  --tt-mat-success: #22C55E;
  --tt-mat-info: #22C55E;
  --tt-mat-warning: #ffab1d;
  --tt-mat-danger: #ff4d49;
  --tt-mat-radius: .625rem;
}
html.layout-navbar-fixed.layout-menu-fixed { scroll-behavior: smooth; }
html[data-bs-theme="light"] body.materialize-system { background: #f7f7f9 !important; }
html[data-bs-theme="dark"] body.materialize-system { background: #282a42 !important; }
body.materialize-system {
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  font-family: Inter, var(--bs-font-sans-serif), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  color: var(--bs-body-color) !important;
}
body.materialize-system:before,
body.materialize-system:after { display: none !important; content: none !important; }
body.materialize-system .layout-wrapper,
body.materialize-system .layout-container,
body.materialize-system .layout-page,
body.materialize-system .content-wrapper { min-height: 100vh; }
body.materialize-system .layout-page { min-width: 0; }
body.materialize-system .layout-navbar.navbar-detached {
  margin: 1rem 1.5rem 0 !important;
  border-radius: .625rem !important;
  box-shadow: var(--bs-box-shadow) !important;
  border: 0 !important;
  min-height: 4rem !important;
}
@media (min-width:1200px){
  body.materialize-system .layout-navbar.navbar-detached { width: calc(100% - 3rem) !important; }
}
body.materialize-system .layout-menu {
  box-shadow: none !important;
  z-index: 1080 !important;
}
body.materialize-system .app-brand.demo { height: 4.875rem !important; padding-inline: 1.5rem !important; }
body.materialize-system .app-brand-logo img { width: 34px; height: 34px; object-fit: contain; border-radius: 50%; }
body.materialize-system .app-brand-text { font-size: 1.375rem !important; letter-spacing: -.02em; }
body.materialize-system .menu-vertical .menu-inner { padding-inline: .875rem !important; }
body.materialize-system .menu-vertical .menu-item .menu-link { border-radius: .5rem !important; min-height: 2.75rem; }
body.materialize-system .menu-vertical .menu-item.active > .menu-link:not(.menu-toggle) {
  background: linear-gradient(270deg, #0b1d3a 0%, #0b1d3a 100%) !important;
  color: #fff !important;
  box-shadow: 0 .125rem .375rem rgba(11,29,58,.42) !important;
}
body.materialize-system .menu-vertical .menu-item.active > .menu-link:not(.menu-toggle) .menu-icon { color: #fff !important; }
body.materialize-system .navbar-search-wrapper { flex: 1 1 auto; min-width: 0; }
body.materialize-system .tt-nav-search {
  display: flex; align-items: center; gap: .75rem;
  width: min(560px, 100%); min-height: 2.875rem;
  color: var(--bs-secondary-color); font-size: .9375rem;
}
body.materialize-system .tt-nav-search i { font-size: 1.35rem; }
body.materialize-system .tt-nav-icon,
body.materialize-system .tt-navbar-user {
  width: 2.625rem; height: 2.625rem; border-radius: 50%; border: 0; background: transparent;
  display: inline-flex; align-items: center; justify-content: center; color: var(--bs-body-color);
  transition: background-color .16s ease, color .16s ease, transform .16s ease;
}
body.materialize-system .tt-nav-icon:hover,
body.materialize-system .tt-navbar-user:hover { background: var(--bs-gray-100); color: var(--bs-primary); }
html[data-bs-theme="dark"] body.materialize-system .tt-nav-icon:hover,
html[data-bs-theme="dark"] body.materialize-system .tt-navbar-user:hover { background: rgba(255,255,255,.06); }
body.materialize-system .tt-navbar-user { background: rgba(var(--tt-mat-primary-rgb), .14); color: var(--bs-primary); font-weight: 700; overflow: hidden; }
body.materialize-system .tt-navbar-user img { width: 100%; height: 100%; object-fit: cover; }
body.materialize-system .tt-online-dot { position: absolute; right: .15rem; bottom: .15rem; width: .65rem; height: .65rem; border-radius: 50%; background: var(--bs-success); border: 2px solid var(--bs-paper-bg); }
body.materialize-system .tt-badge-dot { position: absolute; top: .35rem; right: .4rem; width: .55rem; height: .55rem; background: var(--bs-danger); border-radius: 50%; border: 2px solid var(--bs-paper-bg); }
body.materialize-system .tt-content-container { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
body.materialize-system .content-footer { margin-top: auto; }
body.materialize-system .tt-topbar,
body.materialize-system .tt-footer-game,
body.materialize-system .layout-page > header,
body.materialize-system .layout-page > main.tt-shell { display: none !important; }
body.materialize-system .content-wrapper nav.navbar:not(#layout-navbar) { display: none !important; }
body.materialize-system .tt-shell,
body.materialize-system main.tt-shell,
body.materialize-system .wrap,
body.materialize-system .container-full,
body.materialize-system .container-page,
body.materialize-system .tt-page,
body.materialize-system .page-container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.materialize-system .container,
body.materialize-system .container-fluid { max-width: 100%; }
body.materialize-system .card,
body.materialize-system .stat,
body.materialize-system .list-card,
body.materialize-system .vote-section,
body.materialize-system .resposta-atual,
body.materialize-system .tt-manage-card,
body.materialize-system .tt-admin-card,
body.materialize-system .tt-approval-card,
body.materialize-system .tt-decision-card,
body.materialize-system .tt-removed-card,
body.materialize-system .tt-chart-card,
body.materialize-system .tt-list-card,
body.materialize-system .tt-mini-kpi,
body.materialize-system .tt-focus-box,
body.materialize-system .login-box,
body.materialize-system .public-topbar,
body.materialize-system .table-responsive,
body.materialize-system .hero {
  background: var(--bs-paper-bg) !important;
  color: var(--bs-body-color) !important;
  border: 0 !important;
  border-radius: var(--tt-mat-radius) !important;
  box-shadow: var(--bs-box-shadow) !important;
}
body.materialize-system .hero { padding: 1.5rem !important; margin-bottom: 1.5rem !important; }
body.materialize-system .hero h1,
body.materialize-system .hero h2,
body.materialize-system .hero h3,
body.materialize-system .hero h4,
body.materialize-system .hero h5,
body.materialize-system .tt-chart-head h2,
body.materialize-system .tt-list-card h2 { color: var(--bs-heading-color) !important; }
body.materialize-system .small-muted,
body.materialize-system .text-muted,
body.materialize-system .tt-chart-head p,
body.materialize-system .tt-mini-kpi small { color: var(--bs-secondary-color) !important; }
body.materialize-system .btn,
body.materialize-system .btn-app,
body.materialize-system button.btn,
body.materialize-system a.btn {
  border-radius: .375rem !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  letter-spacing: 0 !important;
}
body.materialize-system .btn-primary,
body.materialize-system .btn-enter {
  background: #0b1d3a !important;
  border-color: #0b1d3a !important;
  color: #fff !important;
  box-shadow: 0 .125rem .375rem rgba(11,29,58,.35) !important;
}
body.materialize-system .btn-secondary,
body.materialize-system .btn-success,
body.materialize-system .btn-info {
  background: #22C55E !important;
  border-color: #22C55E !important;
  color: #fff !important;
  box-shadow: 0 .125rem .375rem rgba(34,197,94,.28) !important;
}
body.materialize-system .btn-warning {
  background: #F59E0B !important;
  border-color: #F59E0B !important;
  color: #0b1d3a !important;
}
body.materialize-system .btn-outline-primary,
body.materialize-system .btn-light,
body.materialize-system .btn-register {
  color: #0b1d3a !important;
  border-color: rgba(11,29,58,.35) !important;
  background: rgba(11,29,58,.10) !important;
}
body.materialize-system .btn-danger { background: #ff4d49 !important; border-color: #ff4d49 !important; color: #fff !important; }
body.materialize-system .form-control,
body.materialize-system .form-select,
body.materialize-system textarea,
body.materialize-system input[type="text"],
body.materialize-system input[type="password"],
body.materialize-system input[type="email"],
body.materialize-system input[type="number"],
body.materialize-system input[type="date"] {
  border-radius: .375rem !important;
  border-color: var(--bs-border-color) !important;
  background-color: var(--bs-paper-bg) !important;
  color: var(--bs-body-color) !important;
  min-height: 2.75rem;
}
body.materialize-system .form-control:focus,
body.materialize-system .form-select:focus {
  border-color: #0b1d3a !important;
  box-shadow: 0 0 0 .15rem rgba(11,29,58,.16) !important;
}
body.materialize-system .table { --bs-table-bg: transparent; color: var(--bs-body-color); margin-bottom: 0; }
body.materialize-system table { border-color: var(--bs-border-color) !important; }
body.materialize-system .table thead th,
body.materialize-system table thead th {
  color: var(--bs-heading-color) !important;
  background: rgba(var(--tt-mat-primary-rgb), .06) !important;
  border-bottom: 1px solid var(--bs-border-color) !important;
  font-size: .8125rem;
  text-transform: uppercase;
  letter-spacing: .02em;
}
body.materialize-system .badge { border-radius: 999rem !important; font-weight: 500 !important; }
body.materialize-system .alert { border-radius: var(--tt-mat-radius) !important; border: 0 !important; box-shadow: none !important; }
body.materialize-system .modal-content { border: 0 !important; border-radius: var(--tt-mat-radius) !important; box-shadow: var(--bs-box-shadow-lg) !important; }
/* Dashboard remap to Materialize CRM style */
body.materialize-system .tt-dashboard-page { display: grid; gap: 1.5rem; margin: 0 !important; padding: 0 !important; }
body.materialize-system .tt-dashboard-hero {
  display: grid !important; grid-template-columns: minmax(0, 1.3fr) minmax(320px, .9fr); gap: 1.5rem !important;
  padding: 0 !important; margin: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important;
}
body.materialize-system .tt-dashboard-hero > div:first-child,
body.materialize-system .tt-next-panel {
  border-radius: var(--tt-mat-radius) !important; box-shadow: var(--bs-box-shadow) !important; border: 0 !important; padding: 1.5rem !important;
}
body.materialize-system .tt-dashboard-hero > div:first-child { background: var(--bs-paper-bg) !important; color: var(--bs-body-color) !important; min-height: 13.5rem; }
body.materialize-system .tt-dashboard-kicker { color: #0b1d3a !important; letter-spacing: 0 !important; text-transform: none !important; font-size: .9375rem !important; font-weight: 500 !important; }
body.materialize-system .tt-dashboard-hero h1 { color: var(--bs-heading-color) !important; font-size: clamp(2rem, 3.2vw, 2.875rem) !important; letter-spacing: -.03em !important; }
body.materialize-system .tt-dashboard-hero p { color: var(--bs-secondary-color) !important; max-width: 760px !important; font-weight: 400 !important; }
body.materialize-system .tt-next-panel { background: linear-gradient(135deg,#0b1d3a,#0b1d3a) !important; color: #fff !important; }
body.materialize-system .tt-next-panel span,
body.materialize-system .tt-next-meta { color: rgba(255,255,255,.78) !important; }
body.materialize-system .tt-countdown { font-size: 1rem !important; font-weight: 600 !important; }
body.materialize-system .tt-mini-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem !important; }
body.materialize-system .tt-mini-kpi { min-height: 8rem; padding: 1.25rem 5.6rem 1.25rem 1.25rem !important; position: relative; overflow: hidden; }
body.materialize-system .tt-mini-kpi:after { display: none !important; content: none !important; }
body.materialize-system .tt-mini-kpi-icon { position: absolute; right: 1.1rem; top: 50%; transform: translateY(-50%); width: 3.15rem; height: 3.15rem; border-radius: .95rem; display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem; background: rgba(11,29,58,.10); color: #0b1d3a; box-shadow: 0 8px 18px rgba(11,29,58,.10); }
body.materialize-system .tt-mini-kpi-icon i { animation-duration: 1.45s; animation-iteration-count: infinite; animation-timing-function: ease-in-out; transform-origin: center; }
body.materialize-system .tt-mini-kpi-athletes .tt-mini-kpi-icon,
body.materialize-system .tt-mini-kpi-confirmados .tt-mini-kpi-icon,
body.materialize-system .tt-mini-kpi-presencas .tt-mini-kpi-icon,
body.materialize-system .tt-mini-kpi-financeiro .tt-mini-kpi-icon,
body.materialize-system .tt-mini-kpi-mensalidade .tt-mini-kpi-icon,
body.materialize-system .tt-mini-kpi-mural .tt-mini-kpi-icon { background: rgba(11,29,58,.10); color: #0b1d3a; }
body.materialize-system .tt-mini-kpi-athletes .tt-mini-kpi-icon i { animation-name: ttIconFloat; }
body.materialize-system .tt-mini-kpi-confirmados .tt-mini-kpi-icon i { animation-name: ttIconPulse; }
body.materialize-system .tt-mini-kpi-presencas .tt-mini-kpi-icon i { animation-name: ttIconBounce; }
body.materialize-system .tt-mini-kpi-financeiro .tt-mini-kpi-icon i,
body.materialize-system .tt-mini-kpi-mensalidade .tt-mini-kpi-icon i { animation-name: ttIconSwing; }
body.materialize-system .tt-mini-kpi-mural .tt-mini-kpi-icon i { animation-name: ttIconMegaphone; }
body.materialize-system .tt-mini-kpi span { color: var(--bs-secondary-color) !important; font-weight: 500 !important; letter-spacing: 0 !important; }
body.materialize-system .tt-mini-kpi strong { color: var(--bs-heading-color) !important; font-size: 1.75rem !important; font-weight: 500 !important; }
body.materialize-system .tt-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem !important; }
body.materialize-system .tt-chart-card,
body.materialize-system .tt-list-card { padding: 1.5rem !important; }
body.materialize-system .tt-chip { background: rgba(11,29,58,.12) !important; color: #0b1d3a !important; border-radius: 50rem !important; font-weight: 500 !important; }
body.materialize-system .tt-bar-track,
body.materialize-system .tt-presenca-bar,
body.materialize-system .tt-money-bar,
body.materialize-system .tt-rank-track { background: var(--bs-gray-200) !important; border-radius: 50rem !important; }
html[data-bs-theme="dark"] body.materialize-system .tt-bar-track,
html[data-bs-theme="dark"] body.materialize-system .tt-presenca-bar,
html[data-bs-theme="dark"] body.materialize-system .tt-money-bar,
html[data-bs-theme="dark"] body.materialize-system .tt-rank-track { background: rgba(255,255,255,.08) !important; }
body.materialize-system .tt-bar-fill,
body.materialize-system .tt-presenca-bar span,
body.materialize-system .tt-money-bar span,
body.materialize-system .tt-rank-track span { background: #0b1d3a !important; }
body.materialize-system .tt-bar-fill.orange,
body.materialize-system .tt-money-col:nth-child(2) .tt-money-bar span { background: #ffab1d !important; }
body.materialize-system .tt-bar-fill.red { background: #ff4d49 !important; }
body.materialize-system .tt-bar-fill.green,
body.materialize-system .tt-money-col:nth-child(3) .tt-money-bar span { background: #22C55E !important; }
body.materialize-system .tt-bar-fill.purple { background: #0b1d3a !important; }
body.materialize-system .tt-bar-fill.blue { background: #22C55E !important; }
body.materialize-system .tt-bar-label,
body.materialize-system .tt-bar-value,
body.materialize-system .tt-ranking-item strong,
body.materialize-system .tt-mural-item strong { color: var(--bs-heading-color) !important; }
body.materialize-system .tt-ranking-item,
body.materialize-system .tt-mural-item { background: rgba(var(--tt-mat-primary-rgb), .05) !important; border-radius: .5rem !important; }
body.materialize-system .tt-rank-number { background: rgba(11,29,58,.16) !important; color: #0b1d3a !important; border-radius: .5rem !important; }
/* Login/public screens */
body.materialize-system .public-page { background: linear-gradient(135deg, rgba(11,29,58,.10), transparent 38%), var(--bs-body-bg) !important; }
body.materialize-system .login-box { max-width: 460px !important; padding: 2rem !important; }
body.materialize-system .login-box img.logo { width: 10rem !important; }
body.materialize-system .login-title h1,
body.materialize-system .login-box h5 { color: var(--bs-heading-color) !important; font-weight: 500 !important; }
/* Generic legacy class normalisation */
body.materialize-system .avatar { border-radius: 50% !important; background: rgba(11,29,58,.14) !important; color: #0b1d3a !important; }
body.materialize-system .progress { background: var(--bs-gray-200) !important; height: .625rem !important; border-radius: 50rem !important; }
body.materialize-system .progress-bar { background: #0b1d3a !important; }
body.materialize-system .top-actions { gap: .75rem !important; }
body.materialize-system .page-title,
body.materialize-system h1,
body.materialize-system h2,
body.materialize-system h3,
body.materialize-system h4,
body.materialize-system h5 { color: var(--bs-heading-color); }
@media (max-width: 1199.98px) {
  body.materialize-system .layout-navbar.navbar-detached { margin: .75rem !important; width: calc(100% - 1.5rem) !important; }
  body.materialize-system .tt-content-container { padding: 1rem .75rem 5rem !important; }
  body.materialize-system .tt-dashboard-hero,
  body.materialize-system .tt-chart-grid,
  body.materialize-system .tt-dashboard-bottom { grid-template-columns: 1fr !important; }
  body.materialize-system .tt-mini-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem !important; }
}
@media (max-width: 575.98px) {
  body.materialize-system .navbar-search-wrapper { display: none !important; }
  body.materialize-system .tt-mini-kpis { grid-template-columns: 1fr !important; }
  body.materialize-system .tt-dashboard-actions { display: grid !important; grid-template-columns: 1fr !important; }
  body.materialize-system .tt-dashboard-actions .btn { width: 100%; }
  body.materialize-system .tt-bar-row { grid-template-columns: 6rem minmax(0,1fr) 2.5rem !important; }
}
@media print {
  body.materialize-system .layout-menu,
  body.materialize-system .layout-navbar,
  body.materialize-system .content-footer,
  body.materialize-system .layout-overlay,
  body.materialize-system .drag-target { display: none !important; }
  body.materialize-system .layout-page { padding-left: 0 !important; }
}

/* === FIX 2026-05-17: lock Materialize vertical menu sizing and neutralize legacy .menu styles === */
body.materialize-system {
  --tt-mat-menu-width: 16.25rem;
  --tt-mat-menu-collapsed-width: 5.25rem;
}
body.materialize-system .layout-wrapper,
body.materialize-system .layout-container {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}
body.materialize-system #layout-menu.layout-menu.menu-vertical {
  inline-size: var(--tt-mat-menu-width) !important;
  width: var(--tt-mat-menu-width) !important;
  min-width: var(--tt-mat-menu-width) !important;
  max-width: var(--tt-mat-menu-width) !important;
  flex: 0 0 var(--tt-mat-menu-width) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}
body.materialize-system #layout-menu.layout-menu.menu-vertical,
body.materialize-system #layout-menu.layout-menu.menu-vertical .menu-block,
body.materialize-system #layout-menu.layout-menu.menu-vertical .menu-inner > .menu-item,
body.materialize-system #layout-menu.layout-menu.menu-vertical .menu-inner > .menu-header {
  inline-size: var(--tt-mat-menu-width) !important;
  width: var(--tt-mat-menu-width) !important;
  max-width: var(--tt-mat-menu-width) !important;
}
body.materialize-system #layout-menu .app-brand.demo {
  inline-size: var(--tt-mat-menu-width) !important;
  width: var(--tt-mat-menu-width) !important;
  min-height: 4.875rem !important;
  max-width: var(--tt-mat-menu-width) !important;
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  gap: .5rem !important;
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 !important;
  aspect-ratio: auto !important;
}
body.materialize-system #layout-menu .app-brand-link {
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: .5rem !important;
  text-decoration: none !important;
}
body.materialize-system #layout-menu .app-brand-text {
  display: inline-block !important;
  width: auto !important;
  max-width: 11rem !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: var(--bs-heading-color) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: start !important;
}
body.materialize-system #layout-menu .menu-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: var(--tt-mat-menu-width) !important;
  max-width: var(--tt-mat-menu-width) !important;
  height: calc(100vh - 4.875rem) !important;
  padding: .75rem .875rem 1.25rem !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
body.materialize-system #layout-menu .menu-inner > .menu-item,
body.materialize-system #layout-menu .menu-item {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  margin: .125rem 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
  cursor: default !important;
  transform: none !important;
}
body.materialize-system #layout-menu .menu-inner > .menu-header,
body.materialize-system #layout-menu .menu-header {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  margin: 1.125rem 0 .375rem !important;
  padding: 0 .75rem !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
body.materialize-system #layout-menu .menu-header .menu-header-text {
  font-size: .75rem !important;
  line-height: 1rem !important;
  font-weight: 500 !important;
  letter-spacing: .015rem !important;
  text-transform: uppercase !important;
  color: var(--bs-menu-header-color, var(--bs-secondary-color)) !important;
  white-space: nowrap !important;
}
body.materialize-system #layout-menu .menu-link {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-direction: row !important;
  gap: .625rem !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 2.75rem !important;
  height: auto !important;
  padding: .5rem .75rem !important;
  border-radius: .5rem !important;
  color: var(--bs-menu-color, var(--bs-body-color)) !important;
  text-align: start !important;
  text-decoration: none !important;
  background: transparent !important;
  box-shadow: none !important;
  aspect-ratio: auto !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}
body.materialize-system #layout-menu .menu-link:hover {
  background: color-mix(in sRGB, var(--bs-primary) 8%, transparent) !important;
  color: var(--bs-primary) !important;
  transform: none !important;
}
body.materialize-system #layout-menu .menu-item.active > .menu-link:not(.menu-toggle) {
  color: #fff !important;
  background: linear-gradient(270deg, #0b1d3a 0%, #0b1d3a 100%) !important;
  box-shadow: 0 .125rem .375rem rgba(11,29,58,.42) !important;
}
body.materialize-system #layout-menu .menu-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 1.375rem !important;
  width: 1.375rem !important;
  min-width: 1.375rem !important;
  height: 1.375rem !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
  text-align: center !important;
  color: inherit !important;
}
body.materialize-system #layout-menu .menu-link > div:not(.badge) {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: inherit !important;
  font-size: .9375rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: start !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
body.materialize-system #layout-menu .badge {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 1.25rem !important;
  height: 1.25rem !important;
  aspect-ratio: auto !important;
  margin-left: auto !important;
  box-shadow: none !important;
}
body.materialize-system .layout-page {
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 1 1 auto !important;
}
@media (min-width: 1200px) {
  html.layout-menu-fixed body.materialize-system #layout-menu.layout-menu.menu-vertical {
    position: fixed !important;
    inset-block: 0 !important;
    inset-inline-start: 0 !important;
    transform: none !important;
    z-index: 1080 !important;
  }
  html.layout-menu-fixed body.materialize-system .layout-page {
    padding-inline-start: var(--tt-mat-menu-width) !important;
    inline-size: 100% !important;
    width: 100% !important;
  }
  html.layout-navbar-fixed body.materialize-system .layout-navbar.navbar-detached {
    inline-size: calc(100% - 3rem - var(--tt-mat-menu-width)) !important;
    width: calc(100% - 3rem - var(--tt-mat-menu-width)) !important;
    max-inline-size: none !important;
  }
  html.layout-menu-collapsed body.materialize-system #layout-menu.layout-menu.menu-vertical,
  html.layout-menu-collapsed body.materialize-system #layout-menu.layout-menu.menu-vertical .menu-block,
  html.layout-menu-collapsed body.materialize-system #layout-menu.layout-menu.menu-vertical .menu-inner > .menu-item,
  html.layout-menu-collapsed body.materialize-system #layout-menu.layout-menu.menu-vertical .menu-inner > .menu-header,
  html.layout-menu-collapsed body.materialize-system #layout-menu .app-brand.demo,
  html.layout-menu-collapsed body.materialize-system #layout-menu .menu-inner {
    inline-size: var(--tt-mat-menu-collapsed-width) !important;
    width: var(--tt-mat-menu-collapsed-width) !important;
    min-width: var(--tt-mat-menu-collapsed-width) !important;
    max-width: var(--tt-mat-menu-collapsed-width) !important;
  }
  html.layout-menu-collapsed body.materialize-system .layout-page {
    padding-inline-start: var(--tt-mat-menu-collapsed-width) !important;
  }
  html.layout-menu-collapsed body.materialize-system #layout-menu .app-brand-text,
  html.layout-menu-collapsed body.materialize-system #layout-menu .menu-header-text,
  html.layout-menu-collapsed body.materialize-system #layout-menu .menu-link > div:not(.badge),
  html.layout-menu-collapsed body.materialize-system #layout-menu .badge {
    display: none !important;
  }
  html.layout-menu-collapsed body.materialize-system #layout-menu .menu-link {
    justify-content: center !important;
    padding-inline: .5rem !important;
  }
}
@media (max-width: 1199.98px) {
  body.materialize-system #layout-menu.layout-menu.menu-vertical {
    position: fixed !important;
    inset-block: 0 !important;
    inset-inline-start: 0 !important;
    transform: translateX(-110%) !important;
    z-index: 1090 !important;
    transition: transform .25s ease !important;
  }
  html.layout-menu-expanded body.materialize-system #layout-menu.layout-menu.menu-vertical,
  body.materialize-system.layout-menu-expanded #layout-menu.layout-menu.menu-vertical {
    transform: translateX(0) !important;
  }
  body.materialize-system .layout-page {
    padding-inline-start: 0 !important;
    width: 100% !important;
  }
  body.materialize-system .layout-overlay {
    z-index: 1085 !important;
  }
}

/* === MATERIALIZE FINAL POLISH 2026-05-17: align with supplied vertical-menu-template screenshots === */
body.materialize-system {
  --bs-menu-width: 16.25rem !important;
  --bs-menu-collapsed-width: 4.375rem !important;
  --tt-mat-menu-width: 16.25rem !important;
  --tt-mat-menu-collapsed-width: 4.375rem !important;
  background-color: var(--bs-body-bg) !important;
}
html[data-bs-theme="light"] body.materialize-system,
html[data-bs-theme="light"] body.materialize-system .layout-page,
html[data-bs-theme="light"] body.materialize-system .content-wrapper {
  background-color: #f7f7f9 !important;
}
html[data-bs-theme="dark"] body.materialize-system,
html[data-bs-theme="dark"] body.materialize-system .layout-page,
html[data-bs-theme="dark"] body.materialize-system .content-wrapper {
  background-color: #282a42 !important;
}
/* Make the detached navbar match Materialize: white in light mode, dark card in dark mode */
html[data-bs-theme="light"] body.materialize-system #layout-navbar.bg-navbar-theme {
  background: #fff !important;
  color: #262b43 !important;
  box-shadow: 0 .25rem 1.125rem rgba(38,43,67,.08) !important;
}
html[data-bs-theme="dark"] body.materialize-system #layout-navbar.bg-navbar-theme {
  background: #30334e !important;
  color: #d7d8ee !important;
  box-shadow: 0 .25rem 1.125rem rgba(16,17,33,.24) !important;
}
body.materialize-system #layout-navbar.navbar-detached {
  min-height: 3.875rem !important;
  padding-inline: 1.25rem !important;
  margin-block-start: 1rem !important;
}
body.materialize-system #layout-navbar .navbar-nav-right { min-height: 3.875rem !important; }
body.materialize-system #layout-navbar .tt-nav-search {
  min-height: 3rem !important;
  font-size: 1rem !important;
  color: var(--bs-secondary-color) !important;
}
body.materialize-system #layout-navbar .tt-nav-search span { opacity: .92; }
body.materialize-system #layout-navbar .tt-nav-icon,
body.materialize-system #layout-navbar .tt-navbar-user {
  width: 2.375rem !important;
  height: 2.375rem !important;
  font-size: 1.125rem !important;
}
/* Sidebar: exact fixed width, readable logo, Materialize spacing */
body.materialize-system #layout-menu.layout-menu.menu-vertical {
  background-color: var(--bs-menu-bg) !important;
  color: var(--bs-menu-color) !important;
  inline-size: var(--bs-menu-width) !important;
  width: var(--bs-menu-width) !important;
  min-width: var(--bs-menu-width) !important;
  max-width: var(--bs-menu-width) !important;
  box-shadow: none !important;
}
body.materialize-system #layout-menu .app-brand.demo {
  height: 4.875rem !important;
  min-height: 4.875rem !important;
  padding-inline: 1.5rem .875rem !important;
  overflow: visible !important;
}
body.materialize-system #layout-menu .app-brand-link {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: visible !important;
}
body.materialize-system #layout-menu .app-brand-logo.demo,
body.materialize-system #layout-menu .app-brand-logo.demo svg {
  width: 2rem !important;
  min-width: 2rem !important;
  height: auto !important;
  display: inline-flex !important;
}
body.materialize-system #layout-menu .app-brand-text.demo {
  display: inline-block !important;
  max-width: none !important;
  width: auto !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  font-size: 1.375rem !important;
  line-height: 1.2 !important;
  color: var(--bs-heading-color) !important;
}
html[data-bs-theme="dark"] body.materialize-system #layout-menu .app-brand-text.demo { color: #d7d8ee !important; }
body.materialize-system #layout-menu .layout-menu-toggle {
  flex: 0 0 2rem !important;
  width: 2rem !important;
  height: 2rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--bs-secondary-color) !important;
}
body.materialize-system #layout-menu .menu-inner {
  width: var(--bs-menu-width) !important;
  padding: .5rem 0 1rem !important;
  scrollbar-width: thin;
}
body.materialize-system #layout-menu .menu-inner > .menu-header,
body.materialize-system #layout-menu .menu-header {
  margin: 1.125rem .75rem .375rem !important;
  padding: .4375rem .75rem !important;
  width: calc(100% - 1.5rem) !important;
}
body.materialize-system #layout-menu .menu-inner > .menu-item,
body.materialize-system #layout-menu .menu-item {
  margin-block: .25rem 0 !important;
  width: 100% !important;
}
body.materialize-system #layout-menu .menu-link {
  min-height: 2.625rem !important;
  width: calc(100% - 1.5rem) !important;
  margin-inline: .75rem !important;
  padding: .5rem .75rem !important;
  border-radius: .5rem !important;
  gap: .75rem !important;
  font-size: .9375rem !important;
}
body.materialize-system #layout-menu .menu-item.active > .menu-link:not(.menu-toggle) {
  color: #fff !important;
  background: #0b1d3a !important;
  box-shadow: 0 .125rem .375rem rgba(11,29,58,.42) !important;
}
body.materialize-system #layout-menu .menu-link:hover:not(.disabled):not(.active) {
  background: var(--bs-menu-hover-bg) !important;
  color: var(--bs-menu-hover-color) !important;
}
body.materialize-system #layout-menu .menu-icon {
  font-size: 1.25rem !important;
  color: var(--bs-menu-item-icon-color, currentColor) !important;
}
body.materialize-system #layout-menu .menu-item.active .menu-icon { color: #fff !important; }
html[data-bs-theme="light"] body.materialize-system #layout-menu {
  --bs-menu-bg: #f7f7f9;
  --bs-menu-color: #262b43;
  --bs-menu-item-icon-color: #262b43;
  --bs-menu-hover-bg: rgba(38,43,67,.06);
  --bs-menu-hover-color: #262b43;
}
html[data-bs-theme="dark"] body.materialize-system #layout-menu {
  --bs-menu-bg: #282a42;
  --bs-menu-color: #d7d8ee;
  --bs-menu-item-icon-color: #d7d8ee;
  --bs-menu-hover-bg: rgba(234,234,255,.06);
  --bs-menu-hover-color: #d7d8ee;
}
/* Keep desktop expanded by default; avoid old localStorage/collapsed class shrinking the logo unexpectedly */
@media (min-width: 1200px) {
  html:not(.tt-allow-collapsed).layout-menu-collapsed body.materialize-system #layout-menu.layout-menu.menu-vertical,
  html:not(.tt-allow-collapsed).layout-menu-collapsed body.materialize-system #layout-menu.layout-menu.menu-vertical .menu-block,
  html:not(.tt-allow-collapsed).layout-menu-collapsed body.materialize-system #layout-menu.layout-menu.menu-vertical .menu-inner > .menu-item,
  html:not(.tt-allow-collapsed).layout-menu-collapsed body.materialize-system #layout-menu.layout-menu.menu-vertical .menu-inner > .menu-header,
  html:not(.tt-allow-collapsed).layout-menu-collapsed body.materialize-system #layout-menu .app-brand.demo,
  html:not(.tt-allow-collapsed).layout-menu-collapsed body.materialize-system #layout-menu .menu-inner {
    inline-size: var(--bs-menu-width) !important;
    width: var(--bs-menu-width) !important;
    min-width: var(--bs-menu-width) !important;
    max-width: var(--bs-menu-width) !important;
  }
  html:not(.tt-allow-collapsed).layout-menu-collapsed body.materialize-system #layout-menu .app-brand-text,
  html:not(.tt-allow-collapsed).layout-menu-collapsed body.materialize-system #layout-menu .menu-header-text,
  html:not(.tt-allow-collapsed).layout-menu-collapsed body.materialize-system #layout-menu .menu-link > div:not(.badge),
  html:not(.tt-allow-collapsed).layout-menu-collapsed body.materialize-system #layout-menu .badge {
    display: block !important;
  }
  html.layout-menu-fixed body.materialize-system .layout-page {
    padding-inline-start: var(--bs-menu-width) !important;
  }
  html.layout-navbar-fixed body.materialize-system #layout-navbar.navbar-detached {
    inline-size: calc(100% - 3rem - var(--bs-menu-width)) !important;
    width: calc(100% - 3rem - var(--bs-menu-width)) !important;
  }
}
/* Cards, page spacing and dashboard proportions closer to Materialize */
body.materialize-system .tt-content-container {
  padding-block-start: 1.5rem !important;
  padding-inline: 1.5rem !important;
}
body.materialize-system .card,
body.materialize-system .tt-dashboard-hero > div:first-child,
body.materialize-system .tt-next-panel,
body.materialize-system .tt-mini-kpi,
body.materialize-system .tt-chart-card,
body.materialize-system .tt-list-card,
body.materialize-system .table-responsive,
body.materialize-system .hero,
body.materialize-system .tt-admin-card,
body.materialize-system .tt-manage-card,
body.materialize-system .vote-section,
body.materialize-system .resposta-atual {
  border-radius: .625rem !important;
  box-shadow: 0 .25rem 1.125rem rgba(38,43,67,.08) !important;
}
html[data-bs-theme="dark"] body.materialize-system .card,
html[data-bs-theme="dark"] body.materialize-system .tt-dashboard-hero > div:first-child,
html[data-bs-theme="dark"] body.materialize-system .tt-mini-kpi,
html[data-bs-theme="dark"] body.materialize-system .tt-chart-card,
html[data-bs-theme="dark"] body.materialize-system .tt-list-card,
html[data-bs-theme="dark"] body.materialize-system .table-responsive,
html[data-bs-theme="dark"] body.materialize-system .hero,
html[data-bs-theme="dark"] body.materialize-system .tt-admin-card,
html[data-bs-theme="dark"] body.materialize-system .tt-manage-card,
html[data-bs-theme="dark"] body.materialize-system .vote-section,
html[data-bs-theme="dark"] body.materialize-system .resposta-atual {
  background-color: #30334e !important;
  box-shadow: 0 .25rem 1.125rem rgba(16,17,33,.24) !important;
}
body.materialize-system .tt-dashboard-page { gap: 1.5rem !important; }
body.materialize-system .tt-dashboard-hero { grid-template-columns: minmax(0, 1.05fr) minmax(330px, .75fr) !important; }
body.materialize-system .tt-dashboard-hero > div:first-child,
body.materialize-system .tt-next-panel { min-height: 12.25rem !important; }
body.materialize-system .tt-dashboard-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: .5rem !important;
  margin-bottom: .875rem !important;
  color: #0b1d3a !important;
  font-weight: 500 !important;
}
body.materialize-system .tt-dashboard-hero h1 {
  font-size: clamp(2rem, 2.25vw, 2.625rem) !important;
  line-height: 1.1 !important;
  font-weight: 500 !important;
  margin-bottom: .625rem !important;
}
body.materialize-system .tt-dashboard-hero p {
  font-size: 1rem !important;
  font-weight: 400 !important;
  margin-bottom: 1.25rem !important;
}
body.materialize-system .tt-dashboard-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .75rem !important;
}
body.materialize-system .tt-dashboard-actions .btn,
body.materialize-system .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .45rem !important;
  min-height: 2.375rem !important;
  padding: .5rem 1rem !important;
  line-height: 1.2 !important;
  border-radius: .375rem !important;
  font-weight: 500 !important;
}
body.materialize-system .btn i,
body.materialize-system .btn .icon-base,
body.materialize-system .tt-chip i,
body.materialize-system h2 i,
body.materialize-system h3 i {
  margin-inline-end: .35rem !important;
  vertical-align: -.125em !important;
}
body.materialize-system .btn-lg { min-height: 2.875rem !important; padding: .625rem 1.125rem !important; font-size: 1rem !important; }
body.materialize-system .btn-light,
body.materialize-system .btn-outline-primary {
  background-color: var(--bs-paper-bg) !important;
  border: 1px solid var(--bs-border-color) !important;
  color: #0b1d3a !important;
  box-shadow: none !important;
}
html[data-bs-theme="dark"] body.materialize-system .btn-light,
html[data-bs-theme="dark"] body.materialize-system .btn-outline-primary {
  background-color: #30334e !important;
  border-color: rgba(234,234,255,.16) !important;
  color: #0b1d3a !important;
}
body.materialize-system .tt-mini-kpis { gap: 1.5rem !important; }
body.materialize-system .tt-mini-kpi { min-height: 7.25rem !important; padding: 1.25rem !important; }
body.materialize-system .tt-mini-kpi strong { font-weight: 500 !important; }
body.materialize-system .tt-chart-card h2,
body.materialize-system .tt-list-card h2 { font-size: 1.25rem !important; font-weight: 500 !important; }
body.materialize-system .tt-chart-head { margin-bottom: 1.25rem !important; }
/* Mobile mirrors Materialize drawer behavior and spacing */
@media (max-width: 1199.98px) {
  body.materialize-system #layout-menu.layout-menu.menu-vertical {
    width: var(--bs-menu-width) !important;
    max-width: min(var(--bs-menu-width), 82vw) !important;
  }
  body.materialize-system .tt-content-container { padding: 1rem .875rem 5rem !important; }
  body.materialize-system #layout-navbar.navbar-detached {
    margin: .75rem !important;
    width: calc(100% - 1.5rem) !important;
    inline-size: calc(100% - 1.5rem) !important;
  }
}
@media (max-width: 575.98px) {
  body.materialize-system #layout-navbar.navbar-detached { min-height: 3.5rem !important; padding-inline: .75rem !important; }
  body.materialize-system .tt-dashboard-hero > div:first-child,
  body.materialize-system .tt-next-panel,
  body.materialize-system .tt-chart-card,
  body.materialize-system .tt-list-card { padding: 1rem !important; }
  body.materialize-system .tt-dashboard-hero h1 { font-size: 1.875rem !important; }
  body.materialize-system .tt-dashboard-actions .btn { width: 100% !important; }
}

/* === FINAL MOBILE + GLOBAL MATERIALIZE ALIGNMENT 2026-05-17 === */
html,
body.materialize-system {
  max-width: 100% !important;
  overflow-x: hidden !important;
}
body.materialize-system,
body.materialize-system * {
  box-sizing: border-box !important;
}
body.materialize-system .layout-wrapper,
body.materialize-system .layout-container,
body.materialize-system .layout-page,
body.materialize-system .content-wrapper,
body.materialize-system .tt-content-container {
  min-width: 0 !important;
  max-width: 100% !important;
}
body.materialize-system img,
body.materialize-system svg,
body.materialize-system canvas,
body.materialize-system video {
  max-width: 100% !important;
}

/* One visual language for legacy cards/pages */
body.materialize-system :is(
  .tt-athletes-hero,.tt-athletes-toolbar,.tt-athlete-card,.tt-removed-card,.tt-manage-card,.tt-admin-card,.tt-approval-card,.tt-decision-card,
  .tt-history-hero,.tt-history-card,.tt-profile-summary-card,.tt-profile-card,.tt-profile-info-bar,.tt-config-intro,.tt-config-card,.tt-config-detail,
  .tt-panel-card,.tt-user-table-card,.tt-rules-intro,.tt-rules-list,.tt-about-card,.tt-mural-hero,.tt-mural-panel,.tt-mural-card,
  .tt-presenca-hero,.tt-presenca-card,.tt-attendance-card,.tt-finance-card,.tt-data-card,.tt-month-card,.tt-sem-jogo-card,
  .tt-edit-profile-card,.box,.regras-container,.regra-admin,.main-row,.form-col,.list-col
) {
  background-color: var(--bs-paper-bg) !important;
  color: var(--bs-body-color) !important;
  border: 0 !important;
  border-radius: .625rem !important;
  box-shadow: 0 .25rem 1.125rem rgba(38,43,67,.08) !important;
}
html[data-bs-theme="dark"] body.materialize-system :is(
  .tt-athletes-hero,.tt-athletes-toolbar,.tt-athlete-card,.tt-removed-card,.tt-manage-card,.tt-admin-card,.tt-approval-card,.tt-decision-card,
  .tt-history-hero,.tt-history-card,.tt-profile-summary-card,.tt-profile-card,.tt-profile-info-bar,.tt-config-intro,.tt-config-card,.tt-config-detail,
  .tt-panel-card,.tt-user-table-card,.tt-rules-intro,.tt-rules-list,.tt-about-card,.tt-mural-hero,.tt-mural-panel,.tt-mural-card,
  .tt-presenca-hero,.tt-presenca-card,.tt-attendance-card,.tt-finance-card,.tt-data-card,.tt-month-card,.tt-sem-jogo-card,
  .tt-edit-profile-card,.box,.regras-container,.regra-admin,.main-row,.form-col,.list-col
) {
  background-color: #30334e !important;
  box-shadow: 0 .25rem 1.125rem rgba(16,17,33,.24) !important;
}
body.materialize-system :is(.tt-section-head,.tt-manage-head,.tt-card-headline,.tt-mural-panel-head,.tt-month-head,.tt-history-card-title,.tt-config-detail-head) {
  margin-bottom: 1rem !important;
}
body.materialize-system :is(.tt-section-head h1,.tt-section-head h2,.tt-athletes-hero h1,.tt-history-hero h1,.tt-profile-page-head h1,.tt-mural-hero h1,.tt-presenca-hero h1) {
  color: var(--bs-heading-color) !important;
  font-weight: 500 !important;
  letter-spacing: -.02em !important;
}
body.materialize-system :is(.tt-athletes-page,.tt-history-page,.tt-config-page,.tt-mural-page,.tt-presenca-page,.tt-rules-page,.tt-about-page) {
  display: grid !important;
  gap: 1.5rem !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.materialize-system :is(.tt-athletes-stats,.tt-history-stats,.tt-mural-stats,.tt-presenca-stats,.tt-summary-grid,.tt-data-grid,.tt-config-menu-grid,.tt-manage-grid,.tt-profile-grid,.tt-profile-grid-top,.tt-profile-grid-bottom,.tt-month-grid,.tt-color-grid,.tt-about-grid,.tt-times-settings-grid,.tt-users-layout,.main-row) {
  max-width: 100% !important;
}
body.materialize-system :is(.tt-athletes-list,.tt-approval-list,.tt-decisions-grid,.tt-admin-list,.tt-admin-toggle-list,.tt-history-list,.tt-mural-grid,.tt-presenca-grid,.tt-month-list,.tt-games-line,.tt-sem-jogo-history) {
  max-width: 100% !important;
}
body.materialize-system :is(.table-responsive,.tt-history-table-wrap) {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Desktop lock: exact Materialize vertical menu width and content offset */
@media (min-width: 1200px) {
  body.materialize-system #layout-menu.layout-menu.menu-vertical {
    width: 16.25rem !important;
    min-width: 16.25rem !important;
    max-width: 16.25rem !important;
    transform: none !important;
  }
  html.layout-menu-fixed body.materialize-system .layout-page {
    padding-inline-start: 16.25rem !important;
    width: 100% !important;
  }
  html.layout-navbar-fixed body.materialize-system #layout-navbar.navbar-detached {
    width: calc(100% - 16.25rem - 3rem) !important;
    inline-size: calc(100% - 16.25rem - 3rem) !important;
    margin-inline: 1.5rem !important;
  }
  body.materialize-system .menu-mobile-toggler {
    display: none !important;
  }
}

/* Tablet and phone: Materialize off-canvas menu + full-width content */
@media (max-width: 1199.98px) {
  body.materialize-system .layout-wrapper,
  body.materialize-system .layout-container {
    display: block !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }
  body.materialize-system .layout-page,
  body.materialize-system .content-wrapper {
    width: 100% !important;
    padding-inline-start: 0 !important;
    margin: 0 !important;
    overflow-x: hidden !important;
  }
  body.materialize-system #layout-menu.layout-menu.menu-vertical {
    position: fixed !important;
    inset-block: 0 !important;
    inset-inline-start: 0 !important;
    width: 16.25rem !important;
    min-width: 16.25rem !important;
    max-width: min(16.25rem, 86vw) !important;
    transform: translate3d(-105%, 0, 0) !important;
    visibility: visible !important;
    z-index: 1090 !important;
    transition: transform .25s ease !important;
  }
  html.layout-menu-expanded body.materialize-system #layout-menu.layout-menu.menu-vertical,
  body.materialize-system.layout-menu-expanded #layout-menu.layout-menu.menu-vertical,
  body.materialize-system .layout-menu.expanded {
    transform: translate3d(0, 0, 0) !important;
  }
  body.materialize-system .layout-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: #000 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 1085 !important;
    transition: opacity .2s ease, visibility .2s ease !important;
  }
  html.layout-menu-expanded body.materialize-system .layout-overlay,
  body.materialize-system.layout-menu-expanded .layout-overlay {
    opacity: .5 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  body.materialize-system .menu-mobile-toggler {
    display: none !important;
  }
  body.materialize-system #layout-navbar.navbar-detached {
    position: sticky !important;
    top: .75rem !important;
    width: calc(100% - 1.5rem) !important;
    inline-size: calc(100% - 1.5rem) !important;
    margin: .75rem !important;
    z-index: 1030 !important;
  }
  body.materialize-system #layout-navbar .navbar-nav-right {
    width: 100% !important;
  }
  body.materialize-system .tt-content-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 1rem .875rem calc(4rem + env(safe-area-inset-bottom)) !important;
  }
}

/* Final responsive dashboard fix: no two-column overflow on phones */
@media (max-width: 767.98px) {
  body.materialize-system .navbar-search-wrapper {
    display: none !important;
  }
  body.materialize-system #layout-navbar.navbar-detached {
    min-height: 3.5rem !important;
    border-radius: .625rem !important;
    padding-inline: .75rem !important;
  }
  body.materialize-system #layout-navbar .layout-menu-toggle {
    display: flex !important;
  }
  body.materialize-system #layout-navbar .navbar-nav {
    gap: .25rem !important;
  }
  body.materialize-system #layout-navbar .tt-nav-icon,
  body.materialize-system #layout-navbar .tt-navbar-user {
    width: 2.25rem !important;
    height: 2.25rem !important;
  }
  body.materialize-system .tt-dashboard-page {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  body.materialize-system .tt-dashboard-hero {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }
  body.materialize-system .tt-dashboard-hero > *,
  body.materialize-system .tt-dashboard-hero > div:first-child,
  body.materialize-system .tt-next-panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  body.materialize-system .tt-dashboard-hero > div:first-child,
  body.materialize-system .tt-next-panel {
    min-height: auto !important;
    padding: 1rem !important;
    border-radius: .625rem !important;
  }
  body.materialize-system .tt-dashboard-kicker {
    font-size: .8125rem !important;
    margin-bottom: .625rem !important;
  }
  body.materialize-system .tt-dashboard-hero h1 {
    font-size: clamp(1.875rem, 9vw, 2.25rem) !important;
    line-height: 1.05 !important;
    word-break: normal !important;
  }
  body.materialize-system .tt-dashboard-hero p {
    font-size: .9375rem !important;
    margin-bottom: 1rem !important;
  }
  body.materialize-system .tt-dashboard-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .75rem !important;
    width: 100% !important;
  }
  body.materialize-system .tt-dashboard-actions .btn,
  body.materialize-system .tt-dashboard-actions a.btn {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
  }
  body.materialize-system .tt-next-panel {
    order: 2 !important;
    gap: .75rem !important;
  }
  body.materialize-system .tt-next-meta {
    font-size: .875rem !important;
  }
  body.materialize-system .tt-countdown {
    font-size: 1rem !important;
  }
  body.materialize-system .tt-mini-kpis,
  body.materialize-system .tt-chart-grid,
  body.materialize-system .tt-dashboard-bottom,
  body.materialize-system .tt-users-layout,
  body.materialize-system .main-row,
  body.materialize-system .tt-profile-grid,
  body.materialize-system .tt-profile-grid-top,
  body.materialize-system .tt-profile-grid-bottom,
  body.materialize-system .tt-presenca-grid,
  body.materialize-system .tt-mural-grid,
  body.materialize-system .tt-config-menu-grid,
  body.materialize-system .tt-times-settings-grid,
  body.materialize-system .tt-manage-grid,
  body.materialize-system .tt-data-grid,
  body.materialize-system .tt-summary-grid,
  body.materialize-system .tt-about-grid,
  body.materialize-system .tt-month-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.materialize-system .tt-mini-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.materialize-system .tt-mini-kpi {
    min-width: 0 !important;
    min-height: 6.75rem !important;
    padding: 1rem !important;
    overflow: hidden !important;
  }
  body.materialize-system .tt-mini-kpi strong {
    font-size: 1.5rem !important;
  }
  body.materialize-system .tt-chart-card,
  body.materialize-system .tt-list-card,
  body.materialize-system .tt-athletes-hero,
  body.materialize-system .tt-athletes-toolbar,
  body.materialize-system .tt-history-hero,
  body.materialize-system .tt-history-card,
  body.materialize-system .tt-profile-summary-card,
  body.materialize-system .tt-profile-card,
  body.materialize-system .tt-config-intro,
  body.materialize-system .tt-config-card,
  body.materialize-system .tt-config-detail,
  body.materialize-system .tt-panel-card,
  body.materialize-system .tt-user-table-card,
  body.materialize-system .tt-mural-hero,
  body.materialize-system .tt-mural-panel,
  body.materialize-system .tt-presenca-hero,
  body.materialize-system .tt-presenca-card,
  body.materialize-system .tt-edit-profile-card,
  body.materialize-system .box,
  body.materialize-system .card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 1rem !important;
    border-radius: .625rem !important;
    overflow: hidden !important;
  }
  body.materialize-system .tt-chart-head,
  body.materialize-system .tt-manage-head,
  body.materialize-system .tt-section-head,
  body.materialize-system .tt-config-detail-head,
  body.materialize-system .tt-month-card-head,
  body.materialize-system .tt-mural-card-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: .75rem !important;
  }
  body.materialize-system .tt-athletes-stats,
  body.materialize-system .tt-history-stats,
  body.materialize-system .tt-mural-stats,
  body.materialize-system .tt-presenca-stats,
  body.materialize-system .tt-athlete-focus {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .75rem !important;
    width: 100% !important;
  }
  body.materialize-system .tt-athletes-list,
  body.materialize-system .tt-approval-list,
  body.materialize-system .tt-decisions-grid,
  body.materialize-system .tt-admin-list,
  body.materialize-system .tt-admin-toggle-list,
  body.materialize-system .tt-history-list,
  body.materialize-system .tt-month-list,
  body.materialize-system .tt-mural-list,
  body.materialize-system .tt-ranking-list,
  body.materialize-system .tt-games-line,
  body.materialize-system .tt-sem-jogo-history {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .875rem !important;
    width: 100% !important;
  }
  body.materialize-system .tt-bar-row {
    grid-template-columns: 5.75rem minmax(0, 1fr) 2rem !important;
    gap: .5rem !important;
  }
  body.materialize-system .tt-presenca-chart {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    min-height: 12rem !important;
    padding-bottom: .5rem !important;
  }
  body.materialize-system .tt-presenca-col {
    min-width: 3rem !important;
  }
  body.materialize-system .tt-presenca-bar,
  body.materialize-system .tt-money-bar {
    height: 7.75rem !important;
  }
  body.materialize-system .tt-money-bars {
    min-height: 10rem !important;
  }
  body.materialize-system table {
    min-width: 38rem !important;
  }
  body.materialize-system .form-control,
  body.materialize-system .form-select,
  body.materialize-system textarea,
  body.materialize-system input[type="text"],
  body.materialize-system input[type="password"],
  body.materialize-system input[type="email"],
  body.materialize-system input[type="number"],
  body.materialize-system input[type="date"] {
    width: 100% !important;
    max-width: 100% !important;
  }
  body.materialize-system .content-footer {
    display: none !important;
  }
}
@media (max-width: 380px) {
  body.materialize-system .tt-mini-kpis,
  body.materialize-system .tt-athletes-stats,
  body.materialize-system .tt-history-stats,
  body.materialize-system .tt-mural-stats,
  body.materialize-system .tt-presenca-stats,
  body.materialize-system .tt-athlete-focus {
    grid-template-columns: 1fr !important;
  }
}

/* === ATLETAS PAGE MATERIALIZE CRM ALIGNMENT 2026-05-17 === */
body.materialize-system .tt-athletes-page {
  display: grid !important;
  gap: 1.5rem !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.materialize-system .tt-athletes-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr) !important;
  align-items: stretch !important;
  gap: 1.5rem !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.materialize-system .tt-athletes-hero-copy,
body.materialize-system .tt-athletes-stat,
body.materialize-system .tt-athletes-tabs,
body.materialize-system .tt-athletes-toolbar,
body.materialize-system .tt-athlete-item,
body.materialize-system .tt-manage-card,
body.materialize-system .tt-admin-card,
body.materialize-system .tt-admin-toggle-row,
body.materialize-system .tt-approval-card,
body.materialize-system .tt-decision-card,
body.materialize-system .tt-empty-state,
body.materialize-system .tt-removed-card {
  background: var(--bs-paper-bg) !important;
  color: var(--bs-body-color) !important;
  border: 0 !important;
  border-radius: .625rem !important;
  box-shadow: 0 .25rem 1.125rem rgba(38,43,67,.08) !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-athletes-hero-copy,
html[data-bs-theme="dark"] body.materialize-system .tt-athletes-stat,
html[data-bs-theme="dark"] body.materialize-system .tt-athletes-tabs,
html[data-bs-theme="dark"] body.materialize-system .tt-athletes-toolbar,
html[data-bs-theme="dark"] body.materialize-system .tt-athlete-item,
html[data-bs-theme="dark"] body.materialize-system .tt-manage-card,
html[data-bs-theme="dark"] body.materialize-system .tt-admin-card,
html[data-bs-theme="dark"] body.materialize-system .tt-admin-toggle-row,
html[data-bs-theme="dark"] body.materialize-system .tt-approval-card,
html[data-bs-theme="dark"] body.materialize-system .tt-decision-card,
html[data-bs-theme="dark"] body.materialize-system .tt-empty-state,
html[data-bs-theme="dark"] body.materialize-system .tt-removed-card {
  background: #30334e !important;
  color: #d7d8ee !important;
  box-shadow: 0 .25rem 1.125rem rgba(16,17,33,.24) !important;
}
body.materialize-system .tt-athletes-hero-copy {
  min-height: 14rem !important;
  padding: 1.625rem !important;
  position: relative !important;
  overflow: hidden !important;
}
body.materialize-system .tt-athletes-hero-copy::after {
  content: "";
  position: absolute;
  inline-size: 13.5rem;
  block-size: 13.5rem;
  inset-inline-end: -3.5rem;
  inset-block-end: -4.5rem;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, rgba(11,29,58,.24), rgba(34,197,94,.14) 52%, transparent 68%);
  pointer-events: none;
}
body.materialize-system .tt-athletes-kicker {
  color: #0b1d3a !important;
  font-size: .9375rem !important;
  line-height: 1.375rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 500 !important;
  margin-bottom: .75rem !important;
}
body.materialize-system .tt-athletes-kicker i { font-size: 1.125rem !important; }
body.materialize-system .tt-athletes-hero h1 {
  color: var(--bs-heading-color) !important;
  font-size: clamp(2.1rem, 3vw, 3rem) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
  margin: 0 0 .625rem !important;
  position: relative !important;
  z-index: 1 !important;
}
body.materialize-system .tt-athletes-hero p {
  color: var(--bs-secondary-color) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  max-width: 42rem !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}
body.materialize-system .tt-athletes-stats {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  width: 100% !important;
}
body.materialize-system .tt-athletes-stat {
  min-width: 0 !important;
  min-height: 6.6rem !important;
  padding: 1.25rem !important;
  text-align: start !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-areas: "icon value" "icon label" !important;
  column-gap: 1rem !important;
  row-gap: .25rem !important;
  align-content: center !important;
}
body.materialize-system .tt-stat-icon {
  grid-area: icon !important;
  inline-size: 2.75rem !important;
  block-size: 2.75rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: .5rem !important;
  font-size: 1.35rem !important;
  color: #0b1d3a !important;
  background: rgba(11,29,58,.14) !important;
}
body.materialize-system .tt-stat-sales .tt-stat-icon { color: #22C55E !important; background: rgba(34,197,94,.16) !important; }
body.materialize-system .tt-stat-profit .tt-stat-icon { color: #ff4d49 !important; background: rgba(255,77,73,.16) !important; }
body.materialize-system .tt-stat-growth .tt-stat-icon { color: #ffab1d !important; background: rgba(255,171,29,.18) !important; }
body.materialize-system .tt-athletes-stat strong {
  grid-area: value !important;
  color: var(--bs-heading-color) !important;
  font-size: 1.375rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}
body.materialize-system .tt-athletes-stat span:not(.tt-stat-icon) {
  grid-area: label !important;
  color: var(--bs-secondary-color) !important;
  font-size: .9375rem !important;
  font-weight: 400 !important;
  margin: 0 !important;
}
body.materialize-system .tt-athletes-tabs {
  padding: .75rem !important;
  gap: .75rem !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.materialize-system .tt-athletes-tab {
  min-height: 2.875rem !important;
  border: 0 !important;
  border-radius: .5rem !important;
  background: transparent !important;
  color: var(--bs-heading-color) !important;
  font-size: .9375rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  padding: .65rem 1rem !important;
  gap: .5rem !important;
  box-shadow: none !important;
}
body.materialize-system .tt-athletes-tab i { font-size: 1.125rem !important; }
body.materialize-system .tt-athletes-tab:hover {
  background: rgba(11,29,58,.08) !important;
  color: #0b1d3a !important;
}
body.materialize-system .tt-athletes-tab.active {
  background: #0b1d3a !important;
  color: #fff !important;
  box-shadow: 0 .125rem .375rem rgba(11,29,58,.42) !important;
}
body.materialize-system .tt-tab-badge {
  background: #ff4d49 !important;
  color: #fff !important;
  border-radius: 50rem !important;
  min-width: 1.35rem !important;
  height: 1.35rem !important;
  font-size: .75rem !important;
  font-weight: 500 !important;
}
body.materialize-system .tt-athletes-tab.active .tt-tab-badge {
  background: #fff !important;
  color: #0b1d3a !important;
}
body.materialize-system .tt-athletes-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: .75rem !important;
  padding: 1rem !important;
}
body.materialize-system .tt-athletes-search i {
  color: var(--bs-secondary-color) !important;
  font-size: 1.125rem !important;
  inset-inline-start: 1rem !important;
}
body.materialize-system .tt-athletes-search .form-control,
body.materialize-system .tt-athletes-search input {
  min-height: 3rem !important;
  border-radius: .5rem !important;
  background: var(--bs-paper-bg) !important;
  padding-inline-start: 2.75rem !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-athletes-search .form-control,
html[data-bs-theme="dark"] body.materialize-system .tt-athletes-search input {
  background: #30334e !important;
}
body.materialize-system .tt-athlete-item {
  overflow: hidden !important;
}
body.materialize-system .tt-athlete-card {
  min-height: 4.875rem !important;
  padding: 1rem 1.125rem !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 1rem !important;
  background: transparent !important;
  color: var(--bs-body-color) !important;
}
body.materialize-system .tt-athlete-card:hover { background: rgba(11,29,58,.05) !important; }
body.materialize-system .tt-athlete-avatar {
  inline-size: 2.75rem !important;
  block-size: 2.75rem !important;
  border-radius: .5rem !important;
  color: #0b1d3a !important;
  background: rgba(11,29,58,.14) !important;
  font-size: 1.25rem !important;
}
body.materialize-system .tt-athlete-name {
  color: var(--bs-heading-color) !important;
  font-size: 1.0625rem !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.materialize-system .tt-athlete-pill {
  min-height: 1.5rem !important;
  border-radius: 50rem !important;
  padding: .25rem .625rem !important;
  font-size: .8125rem !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  color: #0b1d3a !important;
  background: rgba(11,29,58,.14) !important;
}
body.materialize-system .tt-athlete-pill.financeiro.emdia { color: #22C55E !important; background: rgba(34,197,94,.16) !important; }
body.materialize-system .tt-athlete-pill.financeiro.atraso,
body.materialize-system .tt-athlete-pill.danger { color: #ff4d49 !important; background: rgba(255,77,73,.16) !important; }
body.materialize-system .tt-athlete-pill.financeiro.isento { color: #22C55E !important; background: rgba(34,197,94,.16) !important; }
body.materialize-system .tt-athlete-toggle {
  inline-size: 2.25rem !important;
  block-size: 2.25rem !important;
  border-radius: .5rem !important;
  background: rgba(38,43,67,.06) !important;
  color: var(--bs-secondary-color) !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-athlete-toggle { background: rgba(234,234,255,.06) !important; }
body.materialize-system .tt-athlete-actions {
  padding: 0 1rem 1rem !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: .75rem !important;
}
body.materialize-system .tt-athlete-actions.d-none { display: none !important; }
body.materialize-system .tt-action-history {
  background: #30334e !important;
  border-color: #30334e !important;
  color: #fff !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-action-history {
  background: #44485e !important;
  border-color: #44485e !important;
}
body.materialize-system .tt-manage-card { padding: 1.25rem !important; }
body.materialize-system .tt-manage-head h2,
body.materialize-system .tt-admin-card h3,
body.materialize-system .tt-approval-card h3 {
  color: var(--bs-heading-color) !important;
  font-size: 1.125rem !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.materialize-system .tt-manage-head p,
body.materialize-system .tt-admin-card small,
body.materialize-system .tt-approval-card small,
body.materialize-system .tt-decision-card small {
  color: var(--bs-secondary-color) !important;
  font-weight: 400 !important;
}
body.materialize-system .tt-admin-list,
body.materialize-system .tt-decisions-grid { gap: 1rem !important; }
body.materialize-system .tt-admin-card,
body.materialize-system .tt-approval-card,
body.materialize-system .tt-decision-card { padding: 1rem !important; box-shadow: none !important; border: 1px solid var(--bs-border-color) !important; }
html[data-bs-theme="dark"] body.materialize-system .tt-admin-card,
html[data-bs-theme="dark"] body.materialize-system .tt-approval-card,
html[data-bs-theme="dark"] body.materialize-system .tt-decision-card { border-color: rgba(234,234,255,.12) !important; }
body.materialize-system .badge.text-bg-light,
body.materialize-system .badge.bg-light {
  background: rgba(11,29,58,.14) !important;
  color: #0b1d3a !important;
}
body.materialize-system .badge.bg-success,
body.materialize-system .badge.text-bg-success,
body.materialize-system .badge.bg-info,
body.materialize-system .badge.text-bg-info { background: rgba(34,197,94,.16) !important; color: #22C55E !important; }
body.materialize-system .badge.bg-danger,
body.materialize-system .badge.text-bg-danger { background: rgba(255,77,73,.16) !important; color: #ff4d49 !important; }
body.materialize-system .form-check-input:checked { background-color: #0b1d3a !important; border-color: #0b1d3a !important; }
@media (min-width: 1400px) {
  body.materialize-system .tt-athletes-hero { grid-template-columns: minmax(360px, .85fr) minmax(0, 1.15fr) !important; }
  body.materialize-system .tt-athletes-stats { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  body.materialize-system .tt-athletes-hero-copy { min-height: 11.75rem !important; }
}
@media (max-width: 1199.98px) {
  body.materialize-system .tt-athletes-hero { grid-template-columns: 1fr !important; gap: 1rem !important; }
  body.materialize-system .tt-athletes-stats { grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 1rem !important; }
}
@media (max-width: 767.98px) {
  body.materialize-system .tt-athletes-page { gap: 1rem !important; }
  body.materialize-system .tt-athletes-hero { display: grid !important; grid-template-columns: 1fr !important; }
  body.materialize-system .tt-athletes-hero-copy { min-height: auto !important; padding: 1rem !important; }
  body.materialize-system .tt-athletes-hero-copy::after { inline-size: 9rem; block-size: 9rem; inset-inline-end: -4rem; inset-block-end: -4rem; }
  body.materialize-system .tt-athletes-hero h1 { font-size: 2rem !important; }
  body.materialize-system .tt-athletes-stats { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: .875rem !important; }
  body.materialize-system .tt-athletes-stat { min-height: 5.8rem !important; padding: .875rem !important; column-gap: .75rem !important; }
  body.materialize-system .tt-stat-icon { inline-size: 2.25rem !important; block-size: 2.25rem !important; font-size: 1.1rem !important; }
  body.materialize-system .tt-athletes-tabs { display: flex !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; padding: .5rem !important; gap: .5rem !important; scroll-snap-type: x proximity; }
  body.materialize-system .tt-athletes-tab { flex: 0 0 auto !important; min-width: max-content !important; scroll-snap-align: start; min-height: 2.5rem !important; padding: .55rem .85rem !important; }
  body.materialize-system .tt-athletes-toolbar { grid-template-columns: 1fr !important; padding: .875rem !important; }
  body.materialize-system .tt-athletes-toolbar .btn { width: 100% !important; }
  body.materialize-system .tt-athlete-card { min-height: 4.25rem !important; padding: .875rem !important; gap: .75rem !important; }
  body.materialize-system .tt-athlete-avatar { inline-size: 2.375rem !important; block-size: 2.375rem !important; }
  body.materialize-system .tt-athlete-name { font-size: 1rem !important; }
  body.materialize-system .tt-athlete-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .625rem !important; padding: 0 .875rem .875rem !important; }
  body.materialize-system .tt-athlete-actions .btn { min-height: 2.5rem !important; padding-inline: .625rem !important; font-size: .875rem !important; }
  body.materialize-system .tt-admin-list,
  body.materialize-system .tt-decisions-grid,
  body.materialize-system .tt-admin-actions,
  body.materialize-system .tt-approval-card,
  body.materialize-system .tt-admin-toggle-row { grid-template-columns: 1fr !important; }
  body.materialize-system .tt-approval-actions { justify-content: stretch !important; }
  body.materialize-system .tt-approval-actions form,
  body.materialize-system .tt-approval-actions button { width: 100% !important; }
}
@media (max-width: 380px) {
  body.materialize-system .tt-athletes-stats { grid-template-columns: 1fr !important; }
}

/* === FIX ATLETAS HERO TEXT OVERFLOW 2026-05-17 === */
body.materialize-system .tt-athletes-hero {
  grid-template-columns: minmax(520px, 1.05fr) minmax(500px, .95fr) !important;
  align-items: stretch !important;
}
body.materialize-system .tt-athletes-hero-copy {
  min-width: 0 !important;
  min-height: 12.5rem !important;
  padding: 1.55rem clamp(2rem, 14vw, 10.5rem) 1.55rem 1.55rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  isolation: isolate !important;
}
body.materialize-system .tt-athletes-hero-copy::after {
  inline-size: clamp(8rem, 11vw, 11.5rem) !important;
  block-size: clamp(8rem, 11vw, 11.5rem) !important;
  inset-inline-end: -2.75rem !important;
  inset-block-end: -2.75rem !important;
  opacity: .9 !important;
  z-index: -1 !important;
}
body.materialize-system .tt-athletes-hero h1,
body.materialize-system .tt-athletes-hero p,
body.materialize-system .tt-athletes-kicker {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
body.materialize-system .tt-athletes-hero p {
  max-width: 34rem !important;
  display: block !important;
}
body.materialize-system .tt-athletes-stats {
  min-width: 0 !important;
}
body.materialize-system .tt-athletes-stat {
  overflow: hidden !important;
}
body.materialize-system .tt-athletes-stat span:not(.tt-stat-icon),
body.materialize-system .tt-athletes-stat strong {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
@media (min-width: 1400px) {
  body.materialize-system .tt-athletes-hero {
    grid-template-columns: minmax(560px, 1.03fr) minmax(560px, .97fr) !important;
  }
  body.materialize-system .tt-athletes-hero-copy {
    min-height: 12.5rem !important;
  }
}
@media (max-width: 1199.98px) {
  body.materialize-system .tt-athletes-hero {
    grid-template-columns: 1fr !important;
  }
  body.materialize-system .tt-athletes-hero-copy {
    padding: 1.35rem clamp(1.5rem, 18vw, 8.5rem) 1.35rem 1.35rem !important;
  }
  body.materialize-system .tt-athletes-hero p {
    max-width: 38rem !important;
  }
}
@media (max-width: 767.98px) {
  body.materialize-system .tt-athletes-hero-copy {
    padding: 1rem 1rem 6.25rem 1rem !important;
    min-height: auto !important;
  }
  body.materialize-system .tt-athletes-hero-copy::after {
    inline-size: 8rem !important;
    block-size: 8rem !important;
    inset-inline-end: -2.75rem !important;
    inset-block-end: -2.75rem !important;
  }
  body.materialize-system .tt-athletes-hero p {
    max-width: 100% !important;
    font-size: .9375rem !important;
    line-height: 1.45 !important;
  }
}

/* === ATLETAS STATS GRID 2x2 FIX 2026-05-17 === */
body.materialize-system .tt-athletes-hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(500px, .95fr) !important;
  gap: 1.5rem !important;
  align-items: stretch !important;
}
body.materialize-system .tt-athletes-stats {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(230px, 1fr)) !important;
  gap: 1.25rem !important;
  align-content: stretch !important;
  min-width: 0 !important;
}
body.materialize-system .tt-athletes-stat {
  min-height: 6.75rem !important;
  padding: 1.15rem 1.25rem !important;
  overflow: visible !important;
  display: grid !important;
  grid-template-columns: 3rem minmax(0, 1fr) !important;
  grid-template-areas: "icon value" "icon label" !important;
  align-content: center !important;
  align-items: center !important;
  column-gap: 1rem !important;
  row-gap: .15rem !important;
}
body.materialize-system .tt-athletes-stat .tt-stat-icon {
  inline-size: 2.75rem !important;
  block-size: 2.75rem !important;
  flex: 0 0 2.75rem !important;
}
body.materialize-system .tt-athletes-stat strong {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
body.materialize-system .tt-athletes-stat span:not(.tt-stat-icon) {
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  line-height: 1.35 !important;
}
@media (min-width: 1400px) {
  body.materialize-system .tt-athletes-hero {
    grid-template-columns: minmax(520px, 1.02fr) minmax(540px, .98fr) !important;
  }
  body.materialize-system .tt-athletes-stats {
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
    gap: 1.25rem !important;
  }
}
@media (max-width: 1199.98px) {
  body.materialize-system .tt-athletes-hero {
    grid-template-columns: 1fr !important;
  }
  body.materialize-system .tt-athletes-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767.98px) {
  body.materialize-system .tt-athletes-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .875rem !important;
  }
  body.materialize-system .tt-athletes-stat {
    min-height: 6rem !important;
    padding: .9rem !important;
    grid-template-columns: 2.35rem minmax(0, 1fr) !important;
    column-gap: .75rem !important;
  }
  body.materialize-system .tt-athletes-stat .tt-stat-icon {
    inline-size: 2.25rem !important;
    block-size: 2.25rem !important;
    flex-basis: 2.25rem !important;
  }
  body.materialize-system .tt-athletes-stat strong {
    font-size: 1.15rem !important;
  }
  body.materialize-system .tt-athletes-stat span:not(.tt-stat-icon) {
    font-size: .8125rem !important;
  }
}
@media (max-width: 420px) {
  body.materialize-system .tt-athletes-stats {
    grid-template-columns: 1fr !important;
  }
  body.materialize-system .tt-athletes-stat {
    min-height: 5.25rem !important;
  }
}


/* === PROFILE NOTIFICATIONS NAV FIX 2026-05-17 === */
body.materialize-system #layout-navbar .navbar-nav { align-items: center !important; }
body.materialize-system .tt-profile-nav,
body.materialize-system .tt-notification-nav { position: relative !important; }
body.materialize-system .tt-navbar-user { text-decoration: none !important; flex: 0 0 auto !important; }
body.materialize-system .tt-navbar-user.dropdown-toggle::after,
body.materialize-system .tt-nav-icon.dropdown-toggle::after { display: none !important; }
body.materialize-system .tt-notification-menu {
  width: min(23rem, calc(100vw - 1.5rem)) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: .625rem !important;
  overflow: hidden !important;
  box-shadow: 0 .5rem 1.75rem rgba(38,43,67,.16) !important;
  margin-top: .875rem !important;
  background: var(--bs-paper-bg) !important;
  color: var(--bs-body-color) !important;
  z-index: 1120 !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-notification-menu { box-shadow: 0 .5rem 1.75rem rgba(0,0,0,.35) !important; }
body.materialize-system .tt-notification-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  padding: 1rem 1.125rem !important;
  border-bottom: 1px solid var(--bs-border-color) !important;
}
body.materialize-system .tt-notification-head strong { display: block !important; color: var(--bs-heading-color) !important; font-weight: 600 !important; line-height: 1.2 !important; }
body.materialize-system .tt-notification-head small { display: block !important; color: var(--bs-secondary-color) !important; margin-top: .125rem !important; }
body.materialize-system .tt-notification-list { max-height: 22rem !important; overflow-y: auto !important; padding: .375rem !important; }
body.materialize-system .tt-notification-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: .875rem !important;
  padding: .875rem !important;
  border-radius: .5rem !important;
  color: var(--bs-body-color) !important;
  text-decoration: none !important;
  transition: background .15s ease, transform .15s ease !important;
}
body.materialize-system .tt-notification-item:hover { background: rgba(var(--tt-mat-primary-rgb), .08) !important; transform: translateX(2px) !important; }
body.materialize-system .tt-notification-icon {
  width: 2.375rem !important;
  height: 2.375rem !important;
  border-radius: .5rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  font-size: 1.125rem !important;
  color: var(--bs-primary) !important;
  background: rgba(var(--tt-mat-primary-rgb), .14) !important;
}
body.materialize-system .tt-notification-icon.is-danger { color: var(--bs-danger) !important; background: rgba(255,77,73,.14) !important; }
body.materialize-system .tt-notification-icon.is-warning { color: var(--bs-warning) !important; background: rgba(255,171,29,.16) !important; }
body.materialize-system .tt-notification-copy { min-width: 0 !important; display: block !important; }
body.materialize-system .tt-notification-copy strong {
  display: block !important;
  color: var(--bs-heading-color) !important;
  font-size: .9375rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
body.materialize-system .tt-notification-copy small {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  color: var(--bs-secondary-color) !important;
  line-height: 1.35 !important;
  margin-top: .125rem !important;
}
body.materialize-system .tt-notification-empty {
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  gap: .375rem !important;
  padding: 1.5rem 1rem !important;
  color: var(--bs-secondary-color) !important;
}
body.materialize-system .tt-notification-empty i { font-size: 2rem !important; color: var(--bs-success) !important; }
body.materialize-system .tt-notification-empty strong { color: var(--bs-heading-color) !important; font-weight: 600 !important; }
body.materialize-system .tt-notification-empty small { max-width: 17rem !important; }
body.materialize-system .tt-notification-foot {
  display: flex !important;
  justify-content: space-between !important;
  gap: .75rem !important;
  padding: .875rem 1.125rem !important;
  border-top: 1px solid var(--bs-border-color) !important;
  background: rgba(var(--tt-mat-primary-rgb), .04) !important;
}
body.materialize-system .tt-notification-foot a { color: var(--bs-primary) !important; font-weight: 600 !important; text-decoration: none !important; font-size: .875rem !important; }
body.materialize-system #layout-menu .menu-header { margin-top: 1.25rem !important; }
body.materialize-system #layout-menu .menu-header:first-child { margin-top: .5rem !important; }
body.materialize-system #layout-menu .menu-link[href*="logout"] { color: var(--bs-danger) !important; }
body.materialize-system #layout-menu .menu-link[href*="logout"] .menu-icon { color: var(--bs-danger) !important; }
@media (max-width: 1199.98px) {
  body.materialize-system .tt-notification-menu {
    position: fixed !important;
    top: 4.75rem !important;
    right: .75rem !important;
    left: auto !important;
    transform: none !important;
    width: min(23rem, calc(100vw - 1.5rem)) !important;
    max-height: calc(100svh - 6rem) !important;
  }
  body.materialize-system .tt-notification-list { max-height: calc(100svh - 14rem) !important; }
}
@media (max-width: 767.98px) {
  body.materialize-system #layout-navbar .navbar-nav { margin-left: auto !important; }
  body.materialize-system #layout-navbar .tt-nav-icon,
  body.materialize-system #layout-navbar .tt-navbar-user { width: 2.25rem !important; height: 2.25rem !important; }
  body.materialize-system #layout-menu .app-brand-text { max-width: 10rem !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
}
body.materialize-system #layout-navbar,
body.materialize-system #layout-navbar .navbar-nav-right,
body.materialize-system #layout-navbar .navbar-nav,
body.materialize-system #layout-navbar .nav-item.dropdown { overflow: visible !important; }


/* === NAVBAR PROFILE + NOTIFICATIONS ALIGNMENT FIX 2026-05-17 === */
body.materialize-system #layout-navbar .tt-notification-nav {
  position: relative !important;
  isolation: isolate !important;
}
body.materialize-system #layout-navbar .tt-notification-menu {
  position: absolute !important;
  top: calc(100% + .65rem) !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  inset-inline-start: auto !important;
  inset-inline-end: 0 !important;
  transform: none !important;
  margin: 0 !important;
  min-width: 22rem !important;
  max-width: calc(100vw - 2rem) !important;
  display: none;
}
body.materialize-system #layout-navbar .tt-notification-menu.show {
  display: block !important;
}
body.materialize-system #layout-navbar .tt-notification-menu::before {
  content: "" !important;
  position: absolute !important;
  top: -.45rem !important;
  right: .85rem !important;
  width: .9rem !important;
  height: .9rem !important;
  background: var(--bs-paper-bg) !important;
  border-left: 1px solid rgba(47,43,61,.08) !important;
  border-top: 1px solid rgba(47,43,61,.08) !important;
  transform: rotate(45deg) !important;
  z-index: -1 !important;
}
body.materialize-system #layout-navbar .tt-profile-nav {
  position: relative !important;
  flex: 0 0 auto !important;
}
body.materialize-system #layout-navbar .tt-navbar-user {
  cursor: pointer !important;
  pointer-events: auto !important;
}
body.materialize-system #layout-navbar .tt-navbar-user span:first-child {
  position: relative !important;
  z-index: 1 !important;
}
@media (max-width: 1199.98px) {
  body.materialize-system #layout-navbar .tt-notification-menu {
    position: fixed !important;
    top: 4.75rem !important;
    right: .75rem !important;
    left: auto !important;
    min-width: 0 !important;
    width: min(23rem, calc(100vw - 1.5rem)) !important;
    max-width: calc(100vw - 1.5rem) !important;
  }
  body.materialize-system #layout-navbar .tt-notification-menu::before {
    right: 3.25rem !important;
  }
}
@media (max-width: 575.98px) {
  body.materialize-system #layout-navbar .tt-notification-menu {
    top: 4.35rem !important;
    right: .5rem !important;
    width: calc(100vw - 1rem) !important;
    max-height: calc(100svh - 5rem) !important;
  }
  body.materialize-system #layout-navbar .tt-notification-menu::before {
    right: 4.5rem !important;
  }
}


/* TT patch: menu active must be single and Materialize-consistent */
body.materialize-system .menu-vertical .menu-item:not(.active) > .menu-link {
  background: transparent !important;
  box-shadow: none !important;
}
body.materialize-system .menu-vertical .menu-item:not(.active) > .menu-link:hover {
  background: rgba(11,29,58,.08) !important;
}
body.materialize-system .menu-vertical .menu-item.active > .menu-link {
  font-weight: 500 !important;
}


/* === MATERIALIZE CONFIG SUITE 2026-05-17 === */
body.materialize-system { padding-top: 0 !important; display: block !important; flex-direction: initial !important; }
body.materialize-system .tt-config-suite,
body.materialize-system .tt-config-page,
body.materialize-system .tt-about-page,
body.materialize-system .tt-admin-rules-page { display: grid !important; gap: 1.5rem !important; }
body.materialize-system .tt-page-titlebar {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  margin-bottom: .25rem !important;
}
body.materialize-system .tt-page-titlebar .tt-kicker,
body.materialize-system .tt-config-hero .tt-kicker,
body.materialize-system .tt-card-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: .45rem !important;
  color: var(--bs-primary) !important;
  font-size: .8125rem !important;
  font-weight: 600 !important;
  letter-spacing: .025rem !important;
  text-transform: uppercase !important;
  margin-bottom: .5rem !important;
}
body.materialize-system .tt-page-titlebar h1,
body.materialize-system .tt-config-hero h1,
body.materialize-system .tt-config-hero h2 {
  margin: 0 !important;
  color: var(--bs-heading-color) !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
  line-height: 1.1 !important;
}
body.materialize-system .tt-page-titlebar p,
body.materialize-system .tt-config-hero p,
body.materialize-system .tt-muted-copy {
  margin: .625rem 0 0 !important;
  color: var(--bs-secondary-color) !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
}
body.materialize-system .tt-material-card,
body.materialize-system .tt-config-hero,
body.materialize-system .tt-config-tile,
body.materialize-system .tt-config-detail,
body.materialize-system .tt-config-panel,
body.materialize-system .tt-about-card,
body.materialize-system .tt-user-table-card,
body.materialize-system .tt-panel-card,
body.materialize-system .regra-admin,
body.materialize-system .tt-settings-card {
  background: var(--bs-paper-bg) !important;
  border: 0 !important;
  border-radius: var(--bs-border-radius-xl) !important;
  box-shadow: var(--bs-box-shadow-sm) !important;
  color: var(--bs-body-color) !important;
}
body.materialize-system .tt-config-hero { position: relative !important; overflow: hidden !important; }
body.materialize-system .tt-config-hero::after {
  content: "" !important;
  position: absolute !important;
  right: -4rem !important;
  bottom: -5rem !important;
  width: 16rem !important;
  height: 16rem !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), .18), rgba(34,197,94,.14)) !important;
  pointer-events: none !important;
}
body.materialize-system .tt-config-hero .card-body { position: relative !important; z-index: 1 !important; }
body.materialize-system .tt-config-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 1.25rem !important;
  align-items: stretch !important;
}
body.materialize-system .tt-config-stat,
body.materialize-system .tt-summary-mini-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: .9rem !important;
  min-height: 8rem !important;
  padding: 1.5rem !important;
  background: var(--bs-paper-bg) !important;
  border-radius: var(--bs-border-radius-xl) !important;
  box-shadow: var(--bs-box-shadow-sm) !important;
}
body.materialize-system .tt-config-stat > span:last-child,
body.materialize-system .tt-summary-mini-card > span:last-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .2rem !important;
  min-width: 0 !important;
}
body.materialize-system .tt-config-stat .tt-icon,
body.materialize-system .tt-summary-mini-card .tt-icon,
body.materialize-system .tt-config-tile-icon,
body.materialize-system .tt-about-icon,
body.materialize-system .tt-rule-index,
body.materialize-system .tt-color-swatch-box {
  width: 3rem !important;
  height: 3rem !important;
  min-width: 3rem !important;
  border-radius: .75rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.35rem !important;
  color: var(--bs-primary) !important;
  background: rgba(var(--bs-primary-rgb), .12) !important;
}
body.materialize-system .tt-config-stat strong,
body.materialize-system .tt-summary-mini-card strong { display: block !important; color: var(--bs-heading-color) !important; font-size: 1.375rem !important; font-weight: 600 !important; line-height: 1.15 !important; }
body.materialize-system .tt-config-stat span,
body.materialize-system .tt-summary-mini-card span { display: block !important; color: var(--bs-secondary-color) !important; font-size: .9375rem !important; margin-top: .15rem !important; }
body.materialize-system .tt-config-menu-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 1.5rem !important; }
body.materialize-system .tt-config-card { all: unset; }
body.materialize-system .tt-config-tile {
  position: relative !important;
  min-height: 12.5rem !important;
  padding: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
body.materialize-system .tt-config-tile:hover { transform: translateY(-3px) !important; box-shadow: var(--bs-box-shadow) !important; }
body.materialize-system .tt-config-tile-head { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; gap: .75rem !important; }
body.materialize-system .tt-config-tile-title { display:block !important; color: var(--bs-heading-color) !important; font-size: 1.125rem !important; font-weight: 600 !important; line-height: 1.25 !important; }
body.materialize-system .tt-config-tile-desc { display:block !important; margin-top: .5rem !important; color: var(--bs-secondary-color) !important; line-height: 1.55 !important; font-size: .9375rem !important; }
body.materialize-system .tt-config-card-arrow {
  width: 2.25rem !important;
  height: 2.25rem !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--bs-secondary-color) !important;
  background: var(--bs-light) !important;
  margin-left: auto !important;
}
body.materialize-system .tt-config-tile:hover .tt-config-card-arrow { color: #fff !important; background: var(--bs-primary) !important; }
body.materialize-system .tt-config-tag,
body.materialize-system .tt-default-chip,
body.materialize-system .tt-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: .45rem !important;
  width: max-content !important;
  max-width: 100% !important;
  padding: .45rem .75rem !important;
  border-radius: 50rem !important;
  color: var(--bs-primary) !important;
  background: rgba(var(--bs-primary-rgb), .1) !important;
  font-size: .8125rem !important;
  font-weight: 600 !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.materialize-system .tt-config-detail { overflow: hidden !important; }
body.materialize-system .tt-config-detail-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  padding: 1.5rem !important;
  border-bottom: 1px solid var(--bs-border-color) !important;
  background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), .06), transparent) !important;
}
body.materialize-system .tt-config-detail-body { padding: 1.5rem !important; }
body.materialize-system .tt-config-detail-kicker { display:block !important; color: var(--bs-primary) !important; font-size:.8125rem !important; font-weight:600 !important; letter-spacing:.025rem !important; text-transform: uppercase !important; margin-bottom:.4rem !important; }
body.materialize-system .tt-config-detail-title { display:block !important; color: var(--bs-heading-color) !important; font-size:1.25rem !important; font-weight:600 !important; }
body.materialize-system .tt-config-detail-desc { display:block !important; color: var(--bs-secondary-color) !important; margin-top:.35rem !important; line-height:1.55 !important; }
body.materialize-system .tt-color-grid { display:grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 1rem !important; }
body.materialize-system .tt-color-option {
  position: relative !important;
  min-height: 7rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 1rem !important;
  border: 1px solid var(--bs-border-color) !important;
  border-radius: var(--bs-border-radius-lg) !important;
  background: var(--bs-paper-bg) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
body.materialize-system .tt-color-option:hover { transform: translateY(-2px) !important; border-color: rgba(var(--bs-primary-rgb), .35) !important; }
body.materialize-system .tt-color-option input { position:absolute !important; opacity:0 !important; pointer-events:none !important; }
body.materialize-system .tt-color-option.is-selected { border-color: var(--bs-primary) !important; box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .12) !important; }
body.materialize-system .tt-color-option.is-selected::after { content:"\ea41" !important; font-family: remixicon !important; position:absolute !important; right:.875rem !important; top:.875rem !important; width:1.5rem !important; height:1.5rem !important; border-radius:50% !important; display:flex !important; align-items:center !important; justify-content:center !important; color:#fff !important; background:var(--bs-primary) !important; font-size:.9rem !important; }
body.materialize-system .tt-color-swatch { width: 2.625rem !important; height: 2.625rem !important; border-radius: .75rem !important; border: .25rem solid rgba(255,255,255,.9) !important; box-shadow: 0 .25rem .75rem rgba(47,43,61,.16) !important; }
body.materialize-system .tt-color-name { display:block !important; color:var(--bs-heading-color) !important; font-weight:600 !important; line-height:1.25 !important; }
body.materialize-system .tt-color-code { display:block !important; color:var(--bs-secondary-color) !important; margin-top:.25rem !important; }
body.materialize-system .tt-times-settings-grid,
body.materialize-system .tt-about-grid { display:grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 1.5rem !important; }
body.materialize-system .tt-times-setting-box,
body.materialize-system .tt-about-card,
body.materialize-system .tt-settings-card { padding: 1.5rem !important; }
body.materialize-system .tt-times-setting-box label,
body.materialize-system .tt-settings-card label { color: var(--bs-heading-color) !important; font-weight: 600 !important; margin-bottom: .5rem !important; }
body.materialize-system .tt-times-setting-box small { color: var(--bs-secondary-color) !important; margin-top: .5rem !important; display:block !important; line-height: 1.45 !important; }
body.materialize-system .tt-form-actions,
body.materialize-system .tt-page-actions { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:.75rem !important; flex-wrap:wrap !important; }
body.materialize-system .tt-form-actions { margin-top:1.25rem !important; padding:1rem !important; background: var(--bs-light) !important; border-radius: var(--bs-border-radius-lg) !important; }
body.materialize-system .tt-users-layout { display:grid !important; grid-template-columns: minmax(22rem, 28rem) minmax(0,1fr) !important; gap:1.5rem !important; align-items:start !important; }
body.materialize-system .tt-user-table-card .table thead th { background: rgba(var(--bs-primary-rgb), .95) !important; color:#fff !important; border: 0 !important; font-weight: 600 !important; }
body.materialize-system .tt-user-table-card .table td { color: var(--bs-body-color) !important; border-color: var(--bs-border-color) !important; }
body.materialize-system .tt-role-badge { display:inline-flex !important; align-items:center !important; gap:.35rem !important; border:0 !important; padding:.4rem .75rem !important; border-radius:50rem !important; font-weight:600 !important; }
body.materialize-system .tt-role-badge.admin { color: var(--bs-primary) !important; background: rgba(var(--bs-primary-rgb), .12) !important; }
body.materialize-system .tt-role-badge.atleta { color: var(--bs-success) !important; background: rgba(34,197,94,.14) !important; }
body.materialize-system .tt-user-actions .btn,
body.materialize-system .tt-rule-action { width:2.25rem !important; height:2.25rem !important; padding:0 !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; border-radius:.5rem !important; }
body.materialize-system .tt-rules-layout { display:grid !important; grid-template-columns: minmax(22rem, 28rem) minmax(0,1fr) !important; gap:1.5rem !important; align-items:start !important; }
body.materialize-system .regra-admin {
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:1rem !important;
  padding:1rem !important;
  margin-bottom:.875rem !important;
}
body.materialize-system .tt-rule-main { display:flex !important; gap:.875rem !important; align-items:flex-start !important; min-width:0 !important; }
body.materialize-system .tt-rule-index { font-size:1.1rem !important; color:var(--bs-primary) !important; }
body.materialize-system .tt-rule-copy strong { display:block !important; color:var(--bs-heading-color) !important; font-weight:600 !important; }
body.materialize-system .tt-rule-copy span { display:block !important; color:var(--bs-body-color) !important; line-height:1.55 !important; margin-top:.15rem !important; }
body.materialize-system .rule-actions { display:flex !important; gap:.375rem !important; flex-wrap:nowrap !important; }
body.materialize-system .regras-container { max-height: none !important; overflow: visible !important; padding-right:0 !important; }
body.materialize-system .bottom-nav,
body.materialize-system nav.navbar:not(#layout-navbar) { display:none !important; }
html[data-bs-theme="dark"] body.materialize-system .tt-config-hero::after { opacity:.55 !important; }
html[data-bs-theme="dark"] body.materialize-system .tt-form-actions,
html[data-bs-theme="dark"] body.materialize-system .tt-config-card-arrow { background: rgba(255,255,255,.05) !important; }
@media (max-width: 1399.98px) {
  body.materialize-system .tt-config-menu-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  body.materialize-system .tt-config-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 1199.98px) {
  body.materialize-system .tt-config-stat-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 991.98px) {
  body.materialize-system .tt-users-layout,
  body.materialize-system .tt-rules-layout { grid-template-columns: 1fr !important; }
  body.materialize-system .tt-config-menu-grid,
  body.materialize-system .tt-times-settings-grid,
  body.materialize-system .tt-about-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 575.98px) {
  body.materialize-system .tt-page-titlebar { flex-direction: column !important; }
  body.materialize-system .tt-page-actions { width:100% !important; }
  body.materialize-system .tt-page-actions .btn { width:100% !important; justify-content:center !important; }
  body.materialize-system .tt-config-stat-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
  body.materialize-system .tt-config-menu-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
  body.materialize-system .tt-config-tile { min-height: auto !important; padding: 1.125rem !important; }
  body.materialize-system .tt-config-detail-head { flex-direction: column !important; }
  body.materialize-system .tt-color-grid { grid-template-columns: 1fr !important; }
  body.materialize-system .tt-form-actions { align-items: stretch !important; }
  body.materialize-system .tt-form-actions .btn { width:100% !important; justify-content:center !important; }
  body.materialize-system .regra-admin { flex-direction: column !important; }
  body.materialize-system .rule-actions { width:100% !important; justify-content:flex-end !important; }
}


/* PagBank PIX automation */
body.materialize-system.tt-pagbank-page .tt-pix-hero,
body.materialize-system.tt-pagbank-page .tt-pix-card,
body.materialize-system.tt-pagbank-page .tt-pix-payment-card,
body.materialize-system.tt-pagbank-page .tt-pix-summary {
  border: 0 !important;
  border-radius: var(--bs-border-radius-xl) !important;
  background: var(--bs-paper-bg) !important;
  box-shadow: var(--bs-box-shadow-sm) !important;
}
body.materialize-system.tt-pagbank-page .tt-pix-hero { position: relative !important; overflow: hidden !important; }
body.materialize-system.tt-pagbank-page .tt-pix-hero::after {
  content:"" !important; position:absolute !important; right:-5rem !important; bottom:-6rem !important; width:18rem !important; height:18rem !important; border-radius:50% !important;
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb),.22), rgba(34,197,94,.18)) !important; pointer-events:none !important;
}
body.materialize-system.tt-pagbank-page .tt-pix-filter { display:grid !important; grid-template-columns: 1fr 1fr auto !important; align-items:end !important; gap:1rem !important; position:relative !important; z-index:1 !important; }
body.materialize-system.tt-pagbank-page .tt-pix-summary .card-body { display:flex !important; align-items:center !important; gap:1rem !important; min-height:7rem !important; }
body.materialize-system.tt-pagbank-page .tt-pix-summary .tt-icon,
body.materialize-system.tt-pagbank-page .tt-pix-avatar {
  width:3rem !important; height:3rem !important; min-width:3rem !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; border-radius:.75rem !important; color:var(--bs-primary) !important; background:rgba(var(--bs-primary-rgb),.12) !important; font-weight:700 !important;
}
body.materialize-system.tt-pagbank-page .tt-pix-summary .tt-icon.is-success { color:var(--bs-success) !important; background:rgba(34,197,94,.14) !important; }
body.materialize-system.tt-pagbank-page .tt-pix-summary .tt-icon.is-warning { color:var(--bs-warning) !important; background:rgba(255,171,0,.16) !important; }
body.materialize-system.tt-pagbank-page .tt-pix-summary .tt-icon.is-danger { color:var(--bs-danger) !important; background:rgba(255,76,81,.14) !important; }
body.materialize-system.tt-pagbank-page .tt-pix-summary strong { display:block !important; color:var(--bs-heading-color) !important; font-size:1.5rem !important; line-height:1.1 !important; }
body.materialize-system.tt-pagbank-page .tt-pix-summary span { display:block !important; color:var(--bs-secondary-color) !important; font-size:.875rem !important; }
body.materialize-system.tt-pagbank-page .tt-pix-grid { display:grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap:1.5rem !important; }
body.materialize-system.tt-pagbank-page .tt-pix-card-head { display:flex !important; align-items:center !important; gap:1rem !important; min-width:0 !important; }
body.materialize-system.tt-pagbank-page .tt-pix-card-head h5 { margin:0 !important; font-weight:600 !important; color:var(--bs-heading-color) !important; }
body.materialize-system.tt-pagbank-page .tt-pix-card-head small { color:var(--bs-secondary-color) !important; }
body.materialize-system.tt-pagbank-page .tt-pix-card-info { display:grid !important; grid-template-columns:1fr 1fr !important; gap:.75rem !important; margin:1.25rem 0 !important; }
body.materialize-system.tt-pagbank-page .tt-pix-card-info span { padding:.875rem !important; border:1px solid var(--bs-border-color) !important; border-radius:var(--bs-border-radius-lg) !important; background:var(--bs-light) !important; }
body.materialize-system.tt-pagbank-page .tt-pix-card-info small { display:block !important; color:var(--bs-secondary-color) !important; font-size:.75rem !important; text-transform:uppercase !important; letter-spacing:.03em !important; }
body.materialize-system.tt-pagbank-page .tt-pix-card-info strong { display:block !important; color:var(--bs-heading-color) !important; margin-top:.2rem !important; }
body.materialize-system.tt-pagbank-page .tt-pix-miniqr { display:flex !important; align-items:center !important; gap:1rem !important; padding:1rem !important; border-radius:var(--bs-border-radius-lg) !important; background:rgba(var(--bs-primary-rgb),.06) !important; margin-bottom:1rem !important; }
body.materialize-system.tt-pagbank-page .tt-pix-miniqr img { width:5.5rem !important; height:5.5rem !important; object-fit:contain !important; border-radius:.75rem !important; background:#fff !important; padding:.25rem !important; }
body.materialize-system.tt-pagbank-page .tt-pix-actions { display:flex !important; gap:.75rem !important; flex-wrap:wrap !important; }
body.materialize-system.tt-pagbank-page .tt-pix-actions form { margin:0 !important; }
body.materialize-system.tt-pagbank-page .tt-pix-qrcode-box { display:inline-flex !important; padding:1rem !important; border-radius:1.25rem !important; background:#fff !important; box-shadow:var(--bs-box-shadow-sm) !important; }
body.materialize-system.tt-pagbank-page .tt-pix-qrcode-box img { width:min(19rem, 80vw) !important; height:auto !important; display:block !important; }
body.materialize-system.tt-pagbank-page .tt-pix-code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important; font-size:.875rem !important; }
body.materialize-system.tt-pagbank-page .tt-pix-paid { padding:2rem !important; color:var(--bs-success) !important; }
body.materialize-system.tt-pagbank-page .tt-pix-paid i { font-size:5rem !important; }
@media (max-width: 991.98px) {
  body.materialize-system.tt-pagbank-page .tt-pix-filter,
  body.materialize-system.tt-pagbank-page .tt-pix-grid { grid-template-columns:1fr !important; }
}
@media (max-width: 575.98px) {
  body.materialize-system.tt-pagbank-page .tt-pix-card-info { grid-template-columns:1fr !important; }
  body.materialize-system.tt-pagbank-page .tt-pix-actions .btn,
  body.materialize-system.tt-pagbank-page .tt-pix-actions form { width:100% !important; }
  body.materialize-system.tt-pagbank-page .tt-pix-actions .btn { justify-content:center !important; }
  body.materialize-system.tt-pagbank-page .tt-pix-miniqr { flex-direction:column !important; text-align:center !important; }
}


/* PIX inteligente */
body.materialize-system .tt-pix-smart-card {
  border: 0 !important;
  border-radius: var(--bs-border-radius-xl) !important;
  box-shadow: var(--bs-box-shadow-sm) !important;
  overflow: hidden !important;
}
body.materialize-system .tt-pix-smart-card .card-body {
  position: relative !important;
  overflow: hidden !important;
}
body.materialize-system .tt-pix-smart-card .card-body:after {
  content: "" !important;
  position: absolute !important;
  right: -4rem !important;
  bottom: -5rem !important;
  width: 16rem !important;
  height: 16rem !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), .18), rgba(34,197,94,.18)) !important;
  pointer-events: none !important;
}
body.materialize-system .tt-pix-smart-card .row { position: relative !important; z-index: 1 !important; }
body.materialize-system .tt-pix-option-card {
  border: 0 !important;
  border-radius: var(--bs-border-radius-xl) !important;
  box-shadow: var(--bs-box-shadow-sm) !important;
}
body.materialize-system .tt-home-pix-card { margin-bottom: 1.5rem !important; }
body.materialize-system .tt-home-pix-card .tt-focus-box { text-decoration: none !important; color: inherit !important; }
@media (max-width: 575.98px) {
  body.materialize-system .tt-pix-smart-card .btn { width: 100% !important; justify-content: center !important; }
}

/* === MOBILE FIXED TOP NAVBAR 2026-05-17 ===
   Keep the Materialize navbar glued to the top/edges on mobile and tablet. */
@media (max-width: 1199.98px) {
  html.layout-navbar-fixed body.materialize-system,
  body.materialize-system {
    padding-top: 0 !important;
  }
  body.materialize-system .layout-page,
  body.materialize-system .content-wrapper {
    padding-top: 3.75rem !important;
  }
  body.materialize-system #layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.navbar-detached {
    position: fixed !important;
    top: 0 !important;
    inset-block-start: 0 !important;
    left: 0 !important;
    right: 0 !important;
    inset-inline-start: 0 !important;
    inset-inline-end: 0 !important;
    width: 100% !important;
    inline-size: 100% !important;
    max-width: 100% !important;
    max-inline-size: 100% !important;
    min-height: 3.75rem !important;
    margin: 0 !important;
    border-radius: 0 !important;
    padding: .5rem .75rem !important;
    z-index: 1100 !important;
    box-shadow: 0 .25rem 1rem rgba(38, 43, 67, .10) !important;
  }
  body.materialize-system #layout-navbar .navbar-nav-right {
    min-height: 2.75rem !important;
    width: 100% !important;
  }
  body.materialize-system #layout-navbar .navbar-nav {
    margin-left: auto !important;
  }
  body.materialize-system .tt-content-container {
    padding-top: 1rem !important;
  }
  body.materialize-system #layout-menu.layout-menu.menu-vertical {
    top: 0 !important;
    inset-block-start: 0 !important;
  }
  body.materialize-system .layout-overlay {
    z-index: 1095 !important;
  }
}
@media (max-width: 575.98px) {
  body.materialize-system .layout-page,
  body.materialize-system .content-wrapper {
    padding-top: 3.625rem !important;
  }
  body.materialize-system #layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.navbar-detached {
    min-height: 3.625rem !important;
    padding-inline: .75rem !important;
  }
}

/* === MOBILE DRAWER + TOP GAP FINAL FIX 2026-05-17 ===
   Fixes mobile menu overlay z-index and removes the large blank gap below navbar. */
@media (max-width: 1199.98px) {
  html.layout-navbar-fixed body.materialize-system,
  body.materialize-system {
    padding-top: 0 !important;
    overflow-x: hidden !important;
  }

  body.materialize-system .layout-wrapper,
  body.materialize-system .layout-container,
  body.materialize-system .layout-page {
    margin: 0 !important;
    padding-top: 0 !important;
    padding-inline-start: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.materialize-system #layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.navbar-detached {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    inset-block-start: 0 !important;
    inset-inline-start: 0 !important;
    inset-inline-end: 0 !important;
    width: 100% !important;
    inline-size: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    min-height: 3.5rem !important;
    padding: .45rem .75rem !important;
    z-index: 1140 !important;
    box-shadow: 0 .35rem 1rem rgba(47,43,61,.10) !important;
  }

  body.materialize-system #layout-navbar .navbar-nav-right {
    min-height: 2.6rem !important;
    width: 100% !important;
  }

  body.materialize-system .content-wrapper {
    margin: 0 !important;
    padding-top: 3.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container {
    padding-top: .65rem !important;
    padding-left: .75rem !important;
    padding-right: .75rem !important;
  }

  body.materialize-system #layout-menu.layout-menu.menu-vertical {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    inset-block: 0 !important;
    inset-inline-start: 0 !important;
    width: min(16.25rem, 84vw) !important;
    max-width: min(16.25rem, 84vw) !important;
    height: 100dvh !important;
    transform: translate3d(-105%, 0, 0) !important;
    z-index: 1160 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition: transform .22s ease !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html.layout-menu-expanded body.materialize-system #layout-menu.layout-menu.menu-vertical,
  body.materialize-system.layout-menu-expanded #layout-menu.layout-menu.menu-vertical,
  body.materialize-system #layout-menu.layout-menu.menu-vertical.expanded {
    transform: translate3d(0, 0, 0) !important;
    pointer-events: auto !important;
  }

  body.materialize-system .layout-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1150 !important;
    background: rgba(15, 18, 34, .56) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html.layout-menu-expanded body.materialize-system .layout-overlay,
  body.materialize-system.layout-menu-expanded .layout-overlay {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.materialize-system #layout-menu .menu-link,
  body.materialize-system #layout-menu .layout-menu-toggle,
  body.materialize-system #layout-menu a,
  body.materialize-system #layout-menu button {
    pointer-events: auto !important;
    position: relative !important;
    z-index: 1161 !important;
  }

  body.materialize-system .drag-target,
  body.materialize-system .menu-mobile-toggler {
    display: none !important;
    pointer-events: none !important;
  }
}

@media (max-width: 575.98px) {
  body.materialize-system #layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.navbar-detached {
    min-height: 3.375rem !important;
    padding: .4rem .7rem !important;
  }
  body.materialize-system .content-wrapper {
    padding-top: 3.375rem !important;
  }
  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container {
    padding-top: .5rem !important;
    padding-left: .625rem !important;
    padding-right: .625rem !important;
  }
}

/* === TT UI PROFISSIONAL: ESPACAMENTO ENTRE MENU E CONTEUDO 2026-05-17 ===
   Remove o espaco em branco excessivo abaixo do menu/topbar no mobile e deixa
   os cards do painel com acabamento mais profissional, seguindo a previa aprovada. */
body.materialize-system .tt-content-container > *:first-child,
body.materialize-system .tt-content-container > script:first-child + * {
  margin-top: 0 !important;
}

@media (max-width: 1199.98px) {
  html.layout-navbar-fixed body.materialize-system,
  body.materialize-system {
    padding-top: 0 !important;
  }

  body.materialize-system .layout-wrapper,
  body.materialize-system .layout-container,
  body.materialize-system .layout-page,
  body.materialize-system .content-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.materialize-system #layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.navbar-detached {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 3.5rem !important;
    height: 3.5rem !important;
    margin: 0 !important;
    border-radius: 0 !important;
    padding: .45rem .75rem !important;
    z-index: 1140 !important;
    box-shadow: 0 .35rem 1rem rgba(47, 43, 61, .10) !important;
  }

  body.materialize-system #layout-navbar .navbar-nav-right {
    min-height: 2.55rem !important;
    height: 2.55rem !important;
    width: 100% !important;
  }

  body.materialize-system .content-wrapper {
    padding-top: 3.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container {
    padding-top: .5rem !important;
    padding-left: .75rem !important;
    padding-right: .75rem !important;
  }

  body.materialize-system .tt-content-container > *:first-child {
    margin-top: 0 !important;
  }

  body.materialize-system .card:first-child,
  body.materialize-system .tt-list-card:first-child,
  body.materialize-system .tt-chart-card:first-child,
  body.materialize-system .tt-dashboard-page:first-child,
  body.materialize-system .tt-dashboard-hero:first-child,
  body.materialize-system .page-wrap:first-child,
  body.materialize-system .container-fluid:first-child {
    margin-top: 0 !important;
  }
}

@media (max-width: 575.98px) {
  body.materialize-system #layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.navbar-detached {
    min-height: 3.35rem !important;
    height: 3.35rem !important;
    padding: .4rem .7rem !important;
  }

  body.materialize-system #layout-navbar .navbar-nav-right {
    min-height: 2.45rem !important;
    height: 2.45rem !important;
  }

  body.materialize-system .content-wrapper {
    padding-top: 3.35rem !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container {
    padding-top: .42rem !important;
    padding-left: .625rem !important;
    padding-right: .625rem !important;
  }
}

/* Painel inicial mobile com visual da previa aprovada. */
@media (max-width: 640px) {
  body.materialize-system.tt-dashboard-body .tt-dashboard-page {
    display: grid !important;
    gap: .85rem !important;
  }

  body.materialize-system.tt-dashboard-body .tt-dashboard-hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .85rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.materialize-system.tt-dashboard-body .tt-dashboard-hero > div:first-child {
    padding: 1rem !important;
    border: 1px solid rgba(226, 232, 240, .88) !important;
    border-radius: 1.05rem !important;
    background: var(--bs-paper-bg, #fff) !important;
    box-shadow: 0 .5rem 1.5rem rgba(15, 23, 42, .07) !important;
  }

  body.materialize-system.tt-dashboard-body .tt-dashboard-kicker {
    margin-bottom: .45rem !important;
    color: var(--bs-primary, #0b1d3a) !important;
    font-size: .72rem !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  body.materialize-system.tt-dashboard-body .tt-dashboard-hero h1 {
    margin: 0 !important;
    font-size: clamp(1.9rem, 9vw, 2.35rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.055em !important;
  }

  body.materialize-system.tt-dashboard-body .tt-dashboard-hero p {
    margin-top: .6rem !important;
    font-size: .95rem !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
  }

  body.materialize-system.tt-dashboard-body .tt-dashboard-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .7rem !important;
    margin-top: 1rem !important;
  }

  body.materialize-system.tt-dashboard-body .tt-dashboard-actions .btn {
    width: 100% !important;
    min-height: 2.75rem !important;
    border-radius: .75rem !important;
    justify-content: center !important;
    font-size: .94rem !important;
    font-weight: 800 !important;
  }

  body.materialize-system.tt-dashboard-body .tt-next-panel {
    gap: .75rem !important;
    padding: 1.05rem !important;
    border-radius: 1.05rem !important;
    background: linear-gradient(135deg, #5b5cff 0%, #7a4dff 55%, #8d5cf6 100%) !important;
    box-shadow: 0 .75rem 1.7rem rgba(11, 29, 58, .26) !important;
  }

  body.materialize-system.tt-dashboard-body .tt-next-panel > span {
    color: rgba(255,255,255,.9) !important;
    font-size: .72rem !important;
    letter-spacing: .12em !important;
  }

  body.materialize-system.tt-dashboard-body .tt-next-panel strong {
    color: #fff !important;
    font-size: 1.03rem !important;
  }

  body.materialize-system.tt-dashboard-body .tt-countdown {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: .25rem 0 0 !important;
    padding: .48rem .7rem !important;
    border-radius: .55rem !important;
    background: rgba(47, 43, 61, .20) !important;
    color: #fff !important;
    font-size: .95rem !important;
    line-height: 1.1 !important;
    font-weight: 850 !important;
  }

  body.materialize-system.tt-dashboard-body .tt-progress-shell {
    height: .55rem !important;
    background: rgba(255,255,255,.28) !important;
  }

  body.materialize-system.tt-dashboard-body .tt-progress-fill {
    background: #fff !important;
  }

  body.materialize-system.tt-dashboard-body .tt-next-meta {
    align-items: center !important;
    color: rgba(255,255,255,.92) !important;
    font-size: .9rem !important;
    text-transform: none !important;
  }
}

/* === TT GAP FIX REAL 2026-05-17 ===
   O gap permanecia porque o navbar mobile ainda ficava no fluxo visual e o
   content-wrapper mantinha um padding-top de compensacao. Esta regra final
   deixa o topo no fluxo normal/sticky e zera a compensacao duplicada em todas
   as paginas mobile. */
@media (max-width: 1199.98px) {
  html.layout-navbar-fixed body.materialize-system,
  body.materialize-system {
    padding-top: 0 !important;
  }

  body.materialize-system .layout-wrapper,
  body.materialize-system .layout-container,
  body.materialize-system .layout-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.materialize-system #layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.navbar-detached {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    inset-block-start: 0 !important;
    inset-inline-start: auto !important;
    inset-inline-end: auto !important;
    width: 100% !important;
    inline-size: 100% !important;
    max-width: 100% !important;
    min-height: 3.5rem !important;
    height: 3.5rem !important;
    margin: 0 !important;
    border-radius: 0 !important;
    padding: .45rem .75rem !important;
    z-index: 1140 !important;
  }

  body.materialize-system .content-wrapper,
  html.layout-navbar-fixed body.materialize-system .content-wrapper,
  body.materialize-system .layout-page .content-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container {
    padding-top: .65rem !important;
    padding-left: .75rem !important;
    padding-right: .75rem !important;
  }

  body.materialize-system .tt-content-container > *:first-child,
  body.materialize-system .tt-dashboard-page:first-child,
  body.materialize-system .page-wrap:first-child,
  body.materialize-system .container-fluid:first-child,
  body.materialize-system .card:first-child {
    margin-top: 0 !important;
  }
}

@media (max-width: 575.98px) {
  body.materialize-system #layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.navbar-detached {
    min-height: 3.35rem !important;
    height: 3.35rem !important;
    padding: .4rem .7rem !important;
  }

  body.materialize-system .content-wrapper,
  html.layout-navbar-fixed body.materialize-system .content-wrapper,
  body.materialize-system .layout-page .content-wrapper {
    padding-top: 0 !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container {
    padding-top: .5rem !important;
    padding-left: .625rem !important;
    padding-right: .625rem !important;
  }
}

/* === TT MENU INLINE SCROLL FIX 2026-05-17 ===
   Pedido final: nao descolar o menu no mobile. O topo deve subir junto com a pagina,
   sem ficar fixo/sticky e sem deixar espaco em branco acima do conteudo. */
@media (max-width: 1199.98px) {
  html.layout-navbar-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached {
    position: relative !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    inset-block-start: auto !important;
    inset-inline-start: auto !important;
    inset-inline-end: auto !important;
    width: 100% !important;
    inline-size: 100% !important;
    max-width: 100% !important;
    min-height: 3.35rem !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 0 !important;
    padding: .4rem .75rem !important;
    z-index: 5 !important;
    box-shadow: 0 .1rem .55rem rgba(47, 43, 61, .08) !important;
  }

  body.materialize-system .layout-page,
  body.materialize-system .content-wrapper,
  html.layout-navbar-fixed body.materialize-system .layout-page,
  html.layout-navbar-fixed body.materialize-system .content-wrapper,
  body.materialize-system .layout-page .content-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container {
    padding-top: .35rem !important;
    padding-left: .7rem !important;
    padding-right: .7rem !important;
  }

  body.materialize-system .tt-content-container > *:first-child,
  body.materialize-system .card:first-child,
  body.materialize-system .page-wrap:first-child,
  body.materialize-system .container-fluid:first-child,
  body.materialize-system .tt-dashboard-page:first-child,
  body.materialize-system .tt-materialize-profile:first-child {
    margin-top: 0 !important;
  }
}

@media (max-width: 575.98px) {
  body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached {
    padding: .35rem .65rem !important;
    min-height: 3.2rem !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container {
    padding-top: .3rem !important;
    padding-left: .625rem !important;
    padding-right: .625rem !important;
  }
}

/* === TT MENU TOP MOBILE FINAL 2026-05-17 ===
   Coloca o menu/topbar no topo do celular no mobile, sem espacamento acima,
   e deixa o conteudo logo abaixo dele. */
@media (max-width: 1199.98px) {
  html.layout-navbar-fixed body.materialize-system,
  body.materialize-system {
    padding-top: 0 !important;
  }

  body.materialize-system .layout-wrapper,
  body.materialize-system .layout-container,
  body.materialize-system .layout-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  html.layout-navbar-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    inset-block-start: 0 !important;
    inset-inline-start: 0 !important;
    inset-inline-end: 0 !important;
    width: 100% !important;
    inline-size: 100% !important;
    max-width: 100% !important;
    min-height: 3.35rem !important;
    height: 3.35rem !important;
    margin: 0 !important;
    border-radius: 0 !important;
    padding: .35rem .65rem !important;
    z-index: 1140 !important;
    box-shadow: 0 .15rem .75rem rgba(47, 43, 61, .10) !important;
  }

  body.materialize-system #layout-navbar .navbar-nav-right {
    min-height: 2.65rem !important;
    height: 2.65rem !important;
    width: 100% !important;
  }

  body.materialize-system .content-wrapper,
  html.layout-navbar-fixed body.materialize-system .content-wrapper,
  body.materialize-system .layout-page .content-wrapper {
    margin-top: 0 !important;
    padding-top: 3.35rem !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container {
    padding-top: .35rem !important;
    padding-left: .7rem !important;
    padding-right: .7rem !important;
  }

  body.materialize-system .tt-content-container > *:first-child,
  body.materialize-system .card:first-child,
  body.materialize-system .page-wrap:first-child,
  body.materialize-system .container-fluid:first-child,
  body.materialize-system .tt-dashboard-page:first-child,
  body.materialize-system .tt-materialize-profile:first-child {
    margin-top: 0 !important;
  }
}

@media (max-width: 575.98px) {
  html.layout-navbar-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached {
    min-height: 3.2rem !important;
    height: 3.2rem !important;
    padding: .32rem .6rem !important;
  }

  body.materialize-system .content-wrapper,
  html.layout-navbar-fixed body.materialize-system .content-wrapper,
  body.materialize-system .layout-page .content-wrapper {
    padding-top: 3.2rem !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container {
    padding-top: .28rem !important;
    padding-left: .6rem !important;
    padding-right: .6rem !important;
  }
}

/* === MATERIALIZE MODERN PROFESSIONAL UI 2026-05-17 === */
body.materialize-system .tt-page-titlebar-card {
  padding: 1.5rem !important;
  border-radius: var(--bs-border-radius-xl) !important;
  background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), .08), rgba(var(--bs-primary-rgb), .02)) !important;
  box-shadow: var(--tt-navbar-glow, var(--bs-box-shadow-sm)) !important;
}
body.materialize-system .content-wrapper,
body.materialize-system .tt-content-container {
  display: block !important;
}
body.materialize-system .tt-content-container > * + * {
  margin-top: 1.25rem !important;
}
body.materialize-system .card {
  border: 1px solid rgba(140, 148, 170, .12) !important;
  border-radius: calc(var(--bs-border-radius-xl) + .125rem) !important;
  box-shadow: 0 .85rem 2rem rgba(47, 43, 61, .05) !important;
}
body.materialize-system .card .card-header {
  border-bottom-color: rgba(140, 148, 170, .12) !important;
}
body.materialize-system .tt-config-stat-grid-compact {
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 1rem !important;
}
body.materialize-system .tt-summary-palette-bar .tt-mini-palette {
  display: inline-flex !important;
  gap: .45rem !important;
  flex-wrap: wrap !important;
}
body.materialize-system .tt-summary-palette-bar .tt-mini-palette i {
  width: 1.2rem !important;
  height: 1.2rem !important;
  display: inline-block !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.7) !important;
}
body.materialize-system .tt-theme-advanced-form {
  display: grid !important;
  gap: 1.5rem !important;
}
body.materialize-system .tt-color-settings-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 1rem !important;
}
body.materialize-system .tt-color-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  padding: 1.25rem !important;
  border-radius: var(--bs-border-radius-xl) !important;
  border: 1px solid var(--bs-border-color) !important;
  background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), .04), transparent) !important;
}
body.materialize-system .tt-color-field-head {
  display: flex !important;
  align-items: center !important;
  gap: .9rem !important;
}
body.materialize-system .tt-color-field-head span:last-child {
  display: flex !important;
  flex-direction: column !important;
  gap: .15rem !important;
}
body.materialize-system .tt-color-field-head strong {
  color: var(--bs-heading-color) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}
body.materialize-system .tt-color-field-head small {
  color: var(--bs-secondary-color) !important;
  line-height: 1.45 !important;
}
body.materialize-system .tt-color-field-controls {
  display: grid !important;
  grid-template-columns: 4.25rem minmax(0, 1fr) !important;
  gap: .75rem !important;
  align-items: center !important;
}
body.materialize-system .tt-color-field input[type="color"] {
  width: 4.25rem !important;
  min-width: 4.25rem !important;
  height: 3rem !important;
  padding: .25rem !important;
  border-radius: .85rem !important;
  border: 1px solid var(--bs-border-color) !important;
  background: var(--bs-paper-bg) !important;
  cursor: pointer !important;
}
body.materialize-system .tt-preview-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0,1fr)) !important;
  gap: .875rem !important;
}
body.materialize-system .tt-preview-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .65rem !important;
  padding: 1rem !important;
  border-radius: var(--bs-border-radius-lg) !important;
  background: var(--bs-paper-bg) !important;
  border: 1px solid var(--bs-border-color) !important;
}
body.materialize-system .tt-preview-card small {
  color: var(--bs-secondary-color) !important;
  line-height: 1.45 !important;
}
body.materialize-system .tt-nav-search {
  background: rgba(var(--bs-primary-rgb), .06) !important;
  border-color: rgba(var(--bs-primary-rgb), .14) !important;
}
body.materialize-system .tt-notification-menu,
body.materialize-system .dropdown-menu {
  border-radius: 1rem !important;
  overflow: hidden !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-page-titlebar-card {
  background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), .16), rgba(255,255,255,.03)) !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-color-field,
html[data-bs-theme="dark"] body.materialize-system .tt-preview-card {
  background: rgba(255,255,255,.025) !important;
}
@media (max-width: 1199.98px) {
  body.materialize-system .layout-navbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1085 !important;
    box-shadow: 0 .5rem 1.2rem rgba(15, 23, 42, .08) !important;
  }
}
@media (max-width: 991.98px) {
  body.materialize-system .tt-color-settings-grid,
  body.materialize-system .tt-preview-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width: 575.98px) {
  body.materialize-system .tt-page-titlebar-card,
  body.materialize-system .tt-config-hero .card-body,
  body.materialize-system .tt-config-detail-body,
  body.materialize-system .tt-config-detail-head,
  body.materialize-system .tt-form-actions {
    padding: 1rem !important;
  }
  body.materialize-system .tt-content-container {
    padding-left: .75rem !important;
    padding-right: .75rem !important;
  }
  body.materialize-system .tt-config-stat-grid-compact,
  body.materialize-system .tt-color-settings-grid,
  body.materialize-system .tt-preview-grid {
    grid-template-columns: 1fr !important;
  }
  body.materialize-system .tt-summary-mini-card,
  body.materialize-system .tt-config-stat {
    min-height: auto !important;
    padding: 1rem !important;
  }
  body.materialize-system .tt-color-field-controls {
    grid-template-columns: 1fr !important;
  }
  body.materialize-system .tt-color-field input[type="color"] {
    width: 100% !important;
    min-width: 0 !important;
  }
  body.materialize-system .layout-navbar .navbar-search-wrapper,
  body.materialize-system .layout-navbar .nav-item.d-none.d-md-flex {
    display: none !important;
  }
  body.materialize-system .layout-navbar .navbar-nav {
    gap: .35rem !important;
  }
}


/* === TT GLOBAL SEARCH LIVE 2026-05-17 === */
body.materialize-system .tt-global-search { position: relative !important; width: min(34rem, 100%) !important; max-width: 100% !important; }
body.materialize-system .tt-global-search .tt-nav-search { position: relative !important; display: flex !important; align-items: center !important; gap: .65rem !important; width: 100% !important; min-height: 2.875rem !important; padding: .35rem .7rem !important; border: 1px solid rgba(var(--bs-primary-rgb), .12) !important; border-radius: 999px !important; background: rgba(var(--bs-primary-rgb), .055) !important; color: var(--bs-secondary-color) !important; cursor: text !important; transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease !important; }
body.materialize-system .tt-global-search.is-open .tt-nav-search, body.materialize-system .tt-global-search .tt-nav-search:focus-within { border-color: rgba(var(--bs-primary-rgb), .34) !important; background: var(--bs-paper-bg) !important; box-shadow: 0 .45rem 1.25rem rgba(var(--bs-primary-rgb), .12) !important; }
body.materialize-system .tt-global-search .tt-nav-search i { flex: 0 0 auto !important; font-size: 1.25rem !important; color: var(--bs-primary) !important; }
body.materialize-system .tt-global-search .tt-nav-search input { flex: 1 1 auto !important; min-width: 0 !important; border: 0 !important; outline: 0 !important; background: transparent !important; color: var(--bs-heading-color) !important; font: inherit !important; font-size: .95rem !important; font-weight: 600 !important; line-height: 1.2 !important; padding: .3rem 0 !important; box-shadow: none !important; }
body.materialize-system .tt-global-search .tt-nav-search input::placeholder { color: var(--bs-secondary-color) !important; opacity: .82 !important; font-weight: 500 !important; }
body.materialize-system .tt-global-search .tt-nav-search kbd { flex: 0 0 auto !important; padding: .25rem .45rem !important; border-radius: .45rem !important; border: 1px solid var(--bs-border-color) !important; background: var(--bs-light) !important; color: var(--bs-secondary-color) !important; font-size: .72rem !important; font-weight: 700 !important; box-shadow: none !important; }
body.materialize-system .tt-search-results { position: absolute !important; top: calc(100% + .55rem) !important; left: 0 !important; right: 0 !important; z-index: 1205 !important; display: grid !important; gap: .35rem !important; width: min(38rem, 92vw) !important; max-height: min(70vh, 31rem) !important; overflow: auto !important; padding: .55rem !important; border: 1px solid rgba(140, 148, 170, .18) !important; border-radius: 1rem !important; background: var(--bs-paper-bg) !important; color: var(--bs-body-color) !important; box-shadow: 0 1rem 3rem rgba(15, 23, 42, .16) !important; }
body.materialize-system .tt-search-results[hidden] { display: none !important; }
body.materialize-system .tt-search-result { display: grid !important; grid-template-columns: 2.55rem minmax(0, 1fr) auto !important; align-items: center !important; gap: .75rem !important; padding: .72rem .8rem !important; border-radius: .85rem !important; color: var(--bs-body-color) !important; text-decoration: none !important; transition: background-color .14s ease, transform .14s ease !important; }
body.materialize-system .tt-search-result:hover, body.materialize-system .tt-search-result.is-active { background: rgba(var(--bs-primary-rgb), .09) !important; transform: translateY(-1px) !important; }
body.materialize-system .tt-search-result-icon { width: 2.55rem !important; height: 2.55rem !important; border-radius: .75rem !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; color: var(--bs-primary) !important; background: rgba(var(--bs-primary-rgb), .12) !important; font-size: 1.15rem !important; }
body.materialize-system .tt-search-result-copy { min-width: 0 !important; display: flex !important; flex-direction: column !important; gap: .16rem !important; }
body.materialize-system .tt-search-result-copy strong { overflow: hidden !important; white-space: nowrap !important; text-overflow: ellipsis !important; color: var(--bs-heading-color) !important; font-weight: 700 !important; line-height: 1.2 !important; }
body.materialize-system .tt-search-result-copy small { overflow: hidden !important; white-space: nowrap !important; text-overflow: ellipsis !important; color: var(--bs-secondary-color) !important; font-weight: 500 !important; line-height: 1.2 !important; }
body.materialize-system .tt-search-result-type { justify-self: end !important; padding: .32rem .55rem !important; border-radius: 999px !important; background: rgba(var(--bs-primary-rgb), .1) !important; color: var(--bs-primary) !important; font-size: .72rem !important; font-weight: 800 !important; }
body.materialize-system .tt-search-loading, body.materialize-system .tt-search-empty { display: flex !important; align-items: center !important; gap: .75rem !important; padding: 1rem !important; border-radius: .85rem !important; background: rgba(var(--bs-primary-rgb), .055) !important; color: var(--bs-secondary-color) !important; font-weight: 650 !important; }
body.materialize-system .tt-search-empty { align-items: flex-start !important; flex-direction: column !important; gap: .35rem !important; }
body.materialize-system .tt-search-empty i { color: var(--bs-primary) !important; font-size: 1.35rem !important; }
body.materialize-system .tt-search-empty strong { color: var(--bs-heading-color) !important; }
html[data-bs-theme="dark"] body.materialize-system .tt-search-results { box-shadow: 0 1rem 3rem rgba(0, 0, 0, .34) !important; }
html[data-bs-theme="dark"] body.materialize-system .tt-global-search .tt-nav-search kbd { background: rgba(255,255,255,.055) !important; }
@media (max-width: 991.98px) { body.materialize-system .tt-global-search .tt-nav-search kbd { display: none !important; } }
@media (max-width: 575.98px) { body.materialize-system .layout-navbar .navbar-search-wrapper { display: flex !important; flex: 1 1 auto !important; min-width: 0 !important; max-width: none !important; } body.materialize-system .tt-global-search { width: 100% !important; } body.materialize-system .tt-global-search .tt-nav-search { width: 100% !important; min-height: 2.35rem !important; padding: .3rem .52rem !important; gap: .45rem !important; } body.materialize-system .tt-global-search .tt-nav-search input { font-size: .84rem !important; } body.materialize-system .tt-search-results { position: fixed !important; left: .75rem !important; right: .75rem !important; top: 3.65rem !important; width: auto !important; max-height: min(70vh, 28rem) !important; } body.materialize-system .tt-search-result { grid-template-columns: 2.25rem minmax(0, 1fr) !important; gap: .65rem !important; } body.materialize-system .tt-search-result-type { display: none !important; } body.materialize-system .tt-search-result-icon { width: 2.25rem !important; height: 2.25rem !important; } }

/* === TT NOTIFICATIONS CLICK FIX 2026-05-17 ===
   Mantem o sino e o menu de notificacoes acima do overlay/menu mobile
   e garante clique em todas as paginas, inclusive subpastas. */
body.materialize-system #layout-navbar.navbar-detached {
  z-index: 1105 !important;
}
body.materialize-system .tt-notification-nav,
body.materialize-system #ttNotificationsDropdown {
  position: relative !important;
  z-index: 1110 !important;
  pointer-events: auto !important;
}
body.materialize-system .tt-notification-menu {
  z-index: 2140 !important;
  pointer-events: auto !important;
}
body.materialize-system .tt-notification-menu.show {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
body.materialize-system .tt-notification-menu.tt-notification-floating {
  position: fixed !important;
  margin: 0 !important;
  transform: none !important;
}
body.materialize-system .tt-notification-menu .tt-notification-item,
body.materialize-system .tt-notification-menu .tt-notification-foot a {
  pointer-events: auto !important;
  cursor: pointer !important;
}
@media (max-width: 1199.98px) {
  body.materialize-system #layout-navbar.navbar-detached {
    z-index: 1105 !important;
  }
}

/* === TT DARK MODE CONTRAST FIX 2026-05-17 ===
   Corrige textos apagados no tema escuro em todo o sistema.
   Mantem o layout atual e aumenta contraste em cards, abas, tabelas, formularios e botoes label. */
html[data-bs-theme="dark"],
html.dark-style {
  --bs-body-bg: #282A42 !important;
  --bs-body-color: #E7E9FF !important;
  --bs-heading-color: #F8F8FF !important;
  --bs-secondary-color: #C5C8E6 !important;
  --bs-tertiary-color: #AEB2D8 !important;
  --bs-emphasis-color: #FFFFFF !important;
  --bs-border-color: rgba(234, 234, 255, .18) !important;
  --bs-paper-bg: #30334E !important;
  --bs-card-bg: #30334E !important;
  --bs-table-color: #E7E9FF !important;
  --bs-table-bg: #30334E !important;
  --bs-table-striped-color: #E7E9FF !important;
  --bs-table-striped-bg: rgba(255,255,255,.025) !important;
  --bs-table-hover-color: #FFFFFF !important;
  --bs-table-hover-bg: rgba(var(--bs-primary-rgb), .10) !important;
  --tt-text: #F8F8FF !important;
  --tt-muted: #C5C8E6 !important;
  --tt-muted-2: #AEB2D8 !important;
  --tt-surface: #30334E !important;
  --tt-surface-2: #363954 !important;
  --tt-card: #30334E !important;
  --tt-border: rgba(234,234,255,.18) !important;
  --tt-border-strong: rgba(234,234,255,.26) !important;
}

html[data-bs-theme="dark"] body.materialize-system,
html.dark-style body.materialize-system {
  background: #282A42 !important;
  color: #E7E9FF !important;
}

html[data-bs-theme="dark"] body.materialize-system .layout-page,
html[data-bs-theme="dark"] body.materialize-system .content-wrapper,
html.dark-style body.materialize-system .layout-page,
html.dark-style body.materialize-system .content-wrapper {
  background: #282A42 !important;
  color: #E7E9FF !important;
}

html[data-bs-theme="dark"] body.materialize-system :is(.card,.modal-content,.offcanvas,.dropdown-menu,.tt-dashboard-hero > div:first-child,.tt-mini-kpi,.tt-chart-card,.tt-list-card,.table-responsive,.hero,.tt-admin-card,.tt-manage-card,.vote-section,.resposta-atual,.tt-config-detail,.tt-config-hero,.tt-color-field,.tt-preview-card,.tt-athlete-item,.tt-history-card,.tt-profile-card,.tt-pix-smart-card,.tt-pix-option-card,.tt-focus-box,.tt-ranking-item,.tt-mural-item,.tt-empty-mini),
html.dark-style body.materialize-system :is(.card,.modal-content,.offcanvas,.dropdown-menu,.tt-dashboard-hero > div:first-child,.tt-mini-kpi,.tt-chart-card,.tt-list-card,.table-responsive,.hero,.tt-admin-card,.tt-manage-card,.vote-section,.resposta-atual,.tt-config-detail,.tt-config-hero,.tt-color-field,.tt-preview-card,.tt-athlete-item,.tt-history-card,.tt-profile-card,.tt-pix-smart-card,.tt-pix-option-card,.tt-focus-box,.tt-ranking-item,.tt-mural-item,.tt-empty-mini) {
  background-color: #30334E !important;
  color: #E7E9FF !important;
  border-color: rgba(234,234,255,.16) !important;
}

html[data-bs-theme="dark"] body.materialize-system :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.card-title,.modal-title,.offcanvas-title,.tt-config-detail-title,.tt-chart-head h2,.tt-list-card h2,.tt-profile-page-head h1,.tt-page-titlebar h1,.tt-section-head h1,.tt-section-head h2,.tt-rank-body strong,.tt-bar-label,.tt-bar-value,.tt-money-col strong,.tt-presenca-col strong,.tt-focus-box strong,.fw-semibold,.fw-bold,.fw-medium,strong,b),
html.dark-style body.materialize-system :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.card-title,.modal-title,.offcanvas-title,.tt-config-detail-title,.tt-chart-head h2,.tt-list-card h2,.tt-profile-page-head h1,.tt-page-titlebar h1,.tt-section-head h1,.tt-section-head h2,.tt-rank-body strong,.tt-bar-label,.tt-bar-value,.tt-money-col strong,.tt-presenca-col strong,.tt-focus-box strong,.fw-semibold,.fw-bold,.fw-medium,strong,b) {
  color: #F8F8FF !important;
}

html[data-bs-theme="dark"] body.materialize-system :is(p,li,td,th,label,.card-text,.card-body,.table,.table td,.table th,.list-group-item,.tt-materialize-list span,.tt-history-list,.tt-admin-list,.tt-config-card-copy,.tt-preview-card,.tt-search-result-copy),
html.dark-style body.materialize-system :is(p,li,td,th,label,.card-text,.card-body,.table,.table td,.table th,.list-group-item,.tt-materialize-list span,.tt-history-list,.tt-admin-list,.tt-config-card-copy,.tt-preview-card,.tt-search-result-copy) {
  color: #E7E9FF !important;
}

html[data-bs-theme="dark"] body.materialize-system :is(.text-muted,.text-body-secondary,.text-secondary,small,.small,.form-text,.card-subtitle,.tt-config-detail-desc,.tt-color-code,.tt-color-field-head small,.tt-preview-card small,.tt-chart-head p,.tt-money-col small,.tt-presenca-col small,.tt-focus-box span,.tt-mural-item p,.tt-empty-mini,.tt-search-result-copy small),
html.dark-style body.materialize-system :is(.text-muted,.text-body-secondary,.text-secondary,small,.small,.form-text,.card-subtitle,.tt-config-detail-desc,.tt-color-code,.tt-color-field-head small,.tt-preview-card small,.tt-chart-head p,.tt-money-col small,.tt-presenca-col small,.tt-focus-box span,.tt-mural-item p,.tt-empty-mini,.tt-search-result-copy small) {
  color: #C5C8E6 !important;
  opacity: 1 !important;
}

html[data-bs-theme="dark"] body.materialize-system :is(.nav-link,.nav-pills .nav-link,.nav-tabs .nav-link,.tt-tab,.tt-history-tab),
html.dark-style body.materialize-system :is(.nav-link,.nav-pills .nav-link,.nav-tabs .nav-link,.tt-tab,.tt-history-tab) {
  color: #DDE0F7 !important;
}
html[data-bs-theme="dark"] body.materialize-system :is(.nav-link:hover,.nav-pills .nav-link:hover,.nav-tabs .nav-link:hover,.tt-tab:hover,.tt-history-tab:hover),
html.dark-style body.materialize-system :is(.nav-link:hover,.nav-pills .nav-link:hover,.nav-tabs .nav-link:hover,.tt-tab:hover,.tt-history-tab:hover) {
  color: #FFFFFF !important;
  background-color: rgba(var(--bs-primary-rgb), .12) !important;
}
html[data-bs-theme="dark"] body.materialize-system :is(.nav-pills .nav-link.active,.nav-tabs .nav-link.active,.tt-tab.active,.tt-history-tab.active),
html.dark-style body.materialize-system :is(.nav-pills .nav-link.active,.nav-tabs .nav-link.active,.tt-tab.active,.tt-history-tab.active) {
  color: #FFFFFF !important;
  background: linear-gradient(135deg, var(--bs-primary), var(--tt-accent-dark, #565bff)) !important;
}

html[data-bs-theme="dark"] body.materialize-system :is(.form-control,.form-select,.input-group-text,textarea,input:not([type="checkbox"]):not([type="radio"]):not([type="color"])),
html.dark-style body.materialize-system :is(.form-control,.form-select,.input-group-text,textarea,input:not([type="checkbox"]):not([type="radio"]):not([type="color"])) {
  background-color: #363954 !important;
  color: #F8F8FF !important;
  border-color: rgba(234,234,255,.18) !important;
}
html[data-bs-theme="dark"] body.materialize-system :is(.form-control,.form-select,textarea,input)::placeholder,
html.dark-style body.materialize-system :is(.form-control,.form-select,textarea,input)::placeholder {
  color: #B6BADF !important;
  opacity: 1 !important;
}

html[data-bs-theme="dark"] body.materialize-system :is(.btn-label-primary,.btn-label-secondary,.btn-light,.btn-outline-secondary),
html.dark-style body.materialize-system :is(.btn-label-primary,.btn-label-secondary,.btn-light,.btn-outline-secondary) {
  background-color: rgba(var(--bs-primary-rgb), .16) !important;
  border-color: rgba(var(--bs-primary-rgb), .30) !important;
  color: #F4F5FF !important;
}
html[data-bs-theme="dark"] body.materialize-system :is(.btn-label-primary:hover,.btn-label-secondary:hover,.btn-light:hover,.btn-outline-secondary:hover),
html.dark-style body.materialize-system :is(.btn-label-primary:hover,.btn-label-secondary:hover,.btn-light:hover,.btn-outline-secondary:hover) {
  background-color: rgba(var(--bs-primary-rgb), .26) !important;
  border-color: rgba(var(--bs-primary-rgb), .45) !important;
  color: #FFFFFF !important;
}
html[data-bs-theme="dark"] body.materialize-system :is(.btn-label-success),
html.dark-style body.materialize-system :is(.btn-label-success) { background: rgba(var(--bs-success-rgb), .16) !important; color: #DDFBE8 !important; border-color: rgba(var(--bs-success-rgb), .30) !important; }
html[data-bs-theme="dark"] body.materialize-system :is(.btn-label-warning),
html.dark-style body.materialize-system :is(.btn-label-warning) { background: rgba(var(--bs-warning-rgb), .18) !important; color: #FFF2CF !important; border-color: rgba(var(--bs-warning-rgb), .35) !important; }
html[data-bs-theme="dark"] body.materialize-system :is(.btn-label-danger),
html.dark-style body.materialize-system :is(.btn-label-danger) { background: rgba(var(--bs-danger-rgb), .18) !important; color: #FFE1E1 !important; border-color: rgba(var(--bs-danger-rgb), .35) !important; }
html[data-bs-theme="dark"] body.materialize-system :is(.btn-label-info),
html.dark-style body.materialize-system :is(.btn-label-info) { background: rgba(var(--bs-info-rgb), .18) !important; color: #DDF6FF !important; border-color: rgba(var(--bs-info-rgb), .35) !important; }

html[data-bs-theme="dark"] body.materialize-system :is(.badge.bg-label-primary,.bg-label-primary,.tt-default-chip,.tt-pill,.tt-chip),
html.dark-style body.materialize-system :is(.badge.bg-label-primary,.bg-label-primary,.tt-default-chip,.tt-pill,.tt-chip) {
  background-color: rgba(var(--bs-primary-rgb), .18) !important;
  color: #EEF0FF !important;
  border-color: rgba(var(--bs-primary-rgb), .24) !important;
}

html[data-bs-theme="dark"] body.materialize-system :is(.table thead th,.table tbody td,.table tbody th,.tt-history-table-wrap,.list-group-item),
html.dark-style body.materialize-system :is(.table thead th,.table tbody td,.table tbody th,.tt-history-table-wrap,.list-group-item) {
  border-color: rgba(234,234,255,.14) !important;
}
html[data-bs-theme="dark"] body.materialize-system .table-hover tbody tr:hover,
html.dark-style body.materialize-system .table-hover tbody tr:hover {
  color: #FFFFFF !important;
  background-color: rgba(var(--bs-primary-rgb), .10) !important;
}

html[data-bs-theme="dark"] body.materialize-system :is(.dropdown-item,.tt-notification-menu a,.tt-search-result),
html.dark-style body.materialize-system :is(.dropdown-item,.tt-notification-menu a,.tt-search-result) {
  color: #E7E9FF !important;
}
html[data-bs-theme="dark"] body.materialize-system :is(.dropdown-item:hover,.dropdown-item:focus,.tt-search-result:hover,.tt-search-result.is-active),
html.dark-style body.materialize-system :is(.dropdown-item:hover,.dropdown-item:focus,.tt-search-result:hover,.tt-search-result.is-active) {
  color: #FFFFFF !important;
  background-color: rgba(var(--bs-primary-rgb), .12) !important;
}

html[data-bs-theme="dark"] body.materialize-system .tt-pix-smart-card,
html.dark-style body.materialize-system .tt-pix-smart-card {
  background: linear-gradient(135deg, rgba(48,51,78,.96), rgba(54,57,84,.96)) !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-pix-smart-card h3,
html[data-bs-theme="dark"] body.materialize-system .tt-pix-smart-card p,
html.dark-style body.materialize-system .tt-pix-smart-card h3,
html.dark-style body.materialize-system .tt-pix-smart-card p {
  color: #F8F8FF !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-pix-smart-card p,
html.dark-style body.materialize-system .tt-pix-smart-card p { color: #C5C8E6 !important; }

html[data-bs-theme="dark"] body.materialize-system .tt-next-panel,
html.dark-style body.materialize-system .tt-next-panel {
  color: #FFFFFF !important;
  border-color: rgba(255,255,255,.15) !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-next-panel :is(span,strong,small,p,div),
html.dark-style body.materialize-system .tt-next-panel :is(span,strong,small,p,div) {
  color: #FFFFFF !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-next-panel .tt-next-meta,
html.dark-style body.materialize-system .tt-next-panel .tt-next-meta { color: rgba(255,255,255,.86) !important; }

html[data-bs-theme="dark"] body.materialize-system .apexcharts-text,
html[data-bs-theme="dark"] body.materialize-system .apexcharts-legend-text,
html.dark-style body.materialize-system .apexcharts-text,
html.dark-style body.materialize-system .apexcharts-legend-text {
  fill: #E7E9FF !important;
  color: #E7E9FF !important;
}

/* === DARK CONTRAST HOTFIX 2 - SEARCH ICON AND NUMBER BADGES === */
html[data-bs-theme="dark"] body.materialize-system .tt-global-search .tt-nav-search,
html.dark-style body.materialize-system .tt-global-search .tt-nav-search {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: #E9ECFF !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-global-search .tt-nav-search i,
html.dark-style body.materialize-system .tt-global-search .tt-nav-search i {
  color: #F4F6FF !important;
  opacity: 1 !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-global-search .tt-nav-search input,
html.dark-style body.materialize-system .tt-global-search .tt-nav-search input {
  color: #FFFFFF !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-global-search .tt-nav-search input::placeholder,
html.dark-style body.materialize-system .tt-global-search .tt-nav-search input::placeholder {
  color: #D2D8F7 !important;
  opacity: .95 !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-global-search .tt-nav-search kbd,
html.dark-style body.materialize-system .tt-global-search .tt-nav-search kbd {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.16) !important;
  color: #F3F5FF !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-rank-number,
html.dark-style body.materialize-system .tt-rank-number {
  background: linear-gradient(135deg, rgba(124, 58, 237, .92), rgba(99, 102, 241, .92)) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 .35rem .9rem rgba(79,70,229,.26) !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-ranking-item,
html.dark-style body.materialize-system .tt-ranking-item {
  background: rgba(255,255,255,.04) !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-rank-total,
html.dark-style body.materialize-system .tt-rank-total {
  color: #FFFFFF !important;
}

/* === MOBILE SEARCH STANDARD + GAP FIX 2026-05-17 ===
   Padroniza a busca no topo e remove o espaco branco criado por padding-top legado
   em paginas como Enquete/Presenca no mobile. */
body.tt-mobile-app.materialize-system {
  padding-top: 0 !important;
}

@media (max-width: 1199.98px) {
  html.layout-navbar-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    inset-block-start: 0 !important;
    width: 100% !important;
    inline-size: 100% !important;
    max-width: 100% !important;
    min-height: 3.15rem !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 0 !important;
    padding: .34rem .65rem !important;
    z-index: 1140 !important;
    box-shadow: 0 .2rem .8rem rgba(15,23,42,.08) !important;
  }

  body.materialize-system #layout-navbar .navbar-nav-right {
    min-height: 2.45rem !important;
    height: auto !important;
    width: 100% !important;
    gap: .45rem !important;
  }

  body.materialize-system .layout-page,
  body.materialize-system .content-wrapper,
  html.layout-navbar-fixed body.materialize-system .layout-page,
  html.layout-navbar-fixed body.materialize-system .content-wrapper,
  body.materialize-system .layout-page .content-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container,
  body.materialize-system .wrap {
    padding-top: .45rem !important;
  }

  body.materialize-system .tt-content-container > *:first-child,
  body.materialize-system .wrap > *:first-child,
  body.materialize-system .card:first-child,
  body.materialize-system .page-wrap:first-child,
  body.materialize-system .container-fluid:first-child,
  body.materialize-system .tt-dashboard-page:first-child,
  body.materialize-system .tt-materialize-profile:first-child {
    margin-top: 0 !important;
  }

  body.materialize-system .layout-navbar .navbar-search-wrapper {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 .15rem !important;
  }

  body.materialize-system .tt-global-search {
    width: 100% !important;
    max-width: none !important;
  }

  body.materialize-system .tt-global-search .tt-nav-search {
    width: 100% !important;
    min-height: 2.35rem !important;
    height: 2.35rem !important;
    padding: .25rem .65rem !important;
    gap: .5rem !important;
    border-radius: .85rem !important;
    border: 1px solid var(--bs-border-color) !important;
    background: var(--bs-paper-bg) !important;
    color: var(--bs-body-color) !important;
    box-shadow: 0 .25rem .8rem rgba(15,23,42,.055) !important;
  }

  body.materialize-system .tt-global-search.is-open .tt-nav-search,
  body.materialize-system .tt-global-search .tt-nav-search:focus-within {
    border-color: rgba(var(--bs-primary-rgb), .34) !important;
    background: var(--bs-paper-bg) !important;
    box-shadow: 0 .45rem 1.2rem rgba(var(--bs-primary-rgb), .12) !important;
  }

  body.materialize-system .tt-global-search .tt-nav-search i {
    font-size: 1.05rem !important;
    color: var(--bs-secondary-color) !important;
  }

  body.materialize-system .tt-global-search .tt-nav-search input {
    font-size: .88rem !important;
    font-weight: 600 !important;
    color: var(--bs-heading-color) !important;
  }

  body.materialize-system .tt-global-search .tt-nav-search input::placeholder {
    color: var(--bs-secondary-color) !important;
    opacity: .85 !important;
  }

  body.materialize-system .tt-global-search .tt-nav-search kbd {
    display: none !important;
  }
}

@media (max-width: 575.98px) {
  html.layout-navbar-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached {
    min-height: 3rem !important;
    padding: .3rem .55rem !important;
  }

  body.materialize-system #layout-navbar .menu-link.layout-menu-toggle {
    width: 2.25rem !important;
    min-width: 2.25rem !important;
    height: 2.25rem !important;
  }

  body.materialize-system .layout-navbar .navbar-search-wrapper {
    margin: 0 .1rem !important;
  }

  body.materialize-system .tt-global-search .tt-nav-search {
    min-height: 2.25rem !important;
    height: 2.25rem !important;
    padding: .22rem .55rem !important;
    border-radius: .8rem !important;
  }

  body.materialize-system .tt-global-search .tt-nav-search input {
    font-size: .78rem !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container,
  body.materialize-system .wrap {
    padding-top: .4rem !important;
  }
}

html[data-bs-theme="dark"] body.materialize-system .tt-global-search .tt-nav-search,
html.dark-style body.materialize-system .tt-global-search .tt-nav-search {
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: #E9ECFF !important;
  box-shadow: 0 .25rem .9rem rgba(0,0,0,.22) !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-global-search .tt-nav-search i,
html.dark-style body.materialize-system .tt-global-search .tt-nav-search i {
  color: #F4F6FF !important;
  opacity: 1 !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-global-search .tt-nav-search input,
html.dark-style body.materialize-system .tt-global-search .tt-nav-search input {
  color: #FFFFFF !important;
}
html[data-bs-theme="dark"] body.materialize-system .tt-global-search .tt-nav-search input::placeholder,
html.dark-style body.materialize-system .tt-global-search .tt-nav-search input::placeholder {
  color: #D2D8F7 !important;
  opacity: .95 !important;
}

/* === MENU TOP GLUED / NO WHITE GAP 2026-05-17 === */
@media (max-width: 1199.98px) {
  html.layout-navbar-fixed body.materialize-system,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system,
  body.tt-mobile-app.materialize-system,
  body.materialize-system {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.materialize-system .layout-page,
  body.materialize-system .layout-page .content-wrapper,
  body.materialize-system .content-wrapper,
  html.layout-navbar-fixed body.materialize-system .layout-page,
  html.layout-navbar-fixed body.materialize-system .content-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached {
    margin: 0 !important;
    border-radius: 0 !important;
    top: 0 !important;
    box-shadow: 0 .18rem .7rem rgba(15, 23, 42, .08) !important;
  }

  body.materialize-system #layout-navbar + .content-wrapper,
  body.materialize-system .layout-page > .content-wrapper,
  body.materialize-system .layout-page > .container-xxl,
  body.materialize-system .layout-page > .container-fluid {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container,
  body.materialize-system .wrap,
  body.materialize-system .container-fluid,
  body.materialize-system .container-xxl {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.materialize-system .tt-content-container > *:first-child,
  body.materialize-system .wrap > *:first-child,
  body.materialize-system .content-wrapper > *:first-child,
  body.materialize-system .container-fluid > *:first-child,
  body.materialize-system .container-xxl > *:first-child,
  body.materialize-system .tt-dashboard-page > *:first-child,
  body.materialize-system main > *:first-child {
    margin-top: 0 !important;
  }
}

@media (max-width: 575.98px) {
  body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached {
    min-height: 2.95rem !important;
    padding-top: .28rem !important;
    padding-bottom: .28rem !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container,
  body.materialize-system .wrap,
  body.materialize-system .container-fluid,
  body.materialize-system .container-xxl {
    padding-top: 0 !important;
  }
}


/* Ajuste final dos cards KPIs: ícones à esquerda em desktop e mobile */
body.materialize-system .tt-mini-kpi {
  display: grid !important;
  grid-template-columns: 3.5rem minmax(0, 1fr) !important;
  grid-template-areas:
    "icon label"
    "icon value"
    "icon detail" !important;
  column-gap: .75rem !important;
  row-gap: .125rem !important;
  align-items: center !important;
  padding: .875rem 1rem !important;
  min-height: 6.875rem !important;
}
body.materialize-system .tt-mini-kpi > .tt-mini-kpi-icon {
  grid-area: icon !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  justify-self: start !important;
  align-self: center !important;
  width: 2.875rem !important;
  height: 2.875rem !important;
  margin: 0 !important;
  border-radius: .875rem !important;
  font-size: 1rem !important;
  box-shadow: 0 6px 14px rgba(11,29,58,.08) !important;
}
body.materialize-system .tt-mini-kpi > span {
  grid-area: label !important;
  min-width: 0 !important;
  white-space: normal !important;
  line-height: 1.2 !important;
}
body.materialize-system .tt-mini-kpi > strong {
  grid-area: value !important;
  min-width: 0 !important;
  margin-top: 0 !important;
  line-height: 1.05 !important;
}
body.materialize-system .tt-mini-kpi > small {
  grid-area: detail !important;
  min-width: 0 !important;
  margin-top: 0 !important;
  white-space: normal !important;
  line-height: 1.25 !important;
  word-break: break-word !important;
}
body.materialize-system .tt-mini-kpi-icon i {
  animation-duration: 1.1s !important;
}
@media (max-width: 640px) {
  body.materialize-system .tt-mini-kpi {
    grid-template-columns: 2.75rem minmax(0, 1fr) !important;
    padding: .75rem !important;
    min-height: 6rem !important;
  }
  body.materialize-system .tt-mini-kpi > .tt-mini-kpi-icon {
    width: 2.5rem !important;
    height: 2.5rem !important;
    border-radius: .75rem !important;
    font-size: .92rem !important;
  }
  body.materialize-system .tt-mini-kpi > span { font-size: .68rem !important; }
  body.materialize-system .tt-mini-kpi > strong { font-size: 1.15rem !important; }
  body.materialize-system .tt-mini-kpi > small { font-size: .72rem !important; }
}


/* Ajustes finais do dashboard */
body.materialize-system .tt-next-panel .tt-countdown {
  color: #fff !important;
  text-shadow: 0 1px 10px rgba(255,255,255,.08) !important;
}
body.materialize-system .tt-dashboard-actions .tt-btn-system {
  background: rgba(var(--bs-primary-rgb), .10) !important;
  border: 1px solid rgba(var(--bs-primary-rgb), .20) !important;
  color: var(--bs-primary) !important;
  box-shadow: none !important;
}
body.materialize-system .tt-dashboard-actions .tt-btn-system:hover,
body.materialize-system .tt-dashboard-actions .tt-btn-system:focus {
  background: rgba(var(--bs-primary-rgb), .16) !important;
  border-color: rgba(var(--bs-primary-rgb), .28) !important;
  color: var(--bs-primary) !important;
}
body.materialize-system .tt-dashboard-actions .tt-btn-system i {
  color: inherit !important;
}
body.materialize-system .tt-mini-kpi-icon,
body.materialize-system .tt-mini-kpi-athletes .tt-mini-kpi-icon,
body.materialize-system .tt-mini-kpi-confirmados .tt-mini-kpi-icon,
body.materialize-system .tt-mini-kpi-presencas .tt-mini-kpi-icon,
body.materialize-system .tt-mini-kpi-financeiro .tt-mini-kpi-icon,
body.materialize-system .tt-mini-kpi-mensalidade .tt-mini-kpi-icon,
body.materialize-system .tt-mini-kpi-mural .tt-mini-kpi-icon {
  background: rgba(var(--bs-primary-rgb), .12) !important;
  color: var(--bs-primary) !important;
  box-shadow: 0 8px 18px rgba(var(--bs-primary-rgb), .12) !important;
}


/* Próximo jogo: manter o mesmo card do desktop no mobile usando a cor padrão do sistema */
body.materialize-system .tt-next-panel {
  background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), .98) 0%, rgba(var(--bs-primary-rgb), .84) 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(var(--bs-primary-rgb), .18) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), 0 14px 28px rgba(var(--bs-primary-rgb), .18) !important;
}
body.materialize-system .tt-next-panel > span,
body.materialize-system .tt-next-panel .tt-next-meta,
body.materialize-system .tt-next-panel .tt-next-meta div,
body.materialize-system .tt-next-panel .tt-next-meta strong,
body.materialize-system .tt-next-panel .tt-next-meta small,
body.materialize-system .tt-next-panel p,
body.materialize-system .tt-next-panel .tt-game-date {
  color: rgba(255,255,255,.92) !important;
}
body.materialize-system .tt-next-panel .tt-countdown {
  color: #fff !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.10) !important;
}
body.materialize-system .tt-next-panel .tt-progress-shell {
  background: rgba(255,255,255,.20) !important;
}
body.materialize-system .tt-next-panel .tt-progress-fill {
  background: #fff !important;
}

@media (max-width: 767.98px) {
  body.materialize-system .tt-next-panel {
    gap: .75rem !important;
    padding: 1rem !important;
    border-radius: 1.125rem !important;
    min-height: auto !important;
    align-content: stretch !important;
  }
  body.materialize-system .tt-next-panel > span {
    font-size: .72rem !important;
  }
  body.materialize-system .tt-next-panel strong {
    font-size: 1rem !important;
    line-height: 1.35 !important;
  }
  body.materialize-system .tt-next-panel .tt-countdown {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    padding: .4rem .65rem !important;
    border-radius: .75rem !important;
    background: rgba(255,255,255,.14) !important;
    font-size: 1rem !important;
    line-height: 1 !important;
  }
  body.materialize-system .tt-next-panel .tt-next-meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    flex-wrap: nowrap !important;
    font-size: .8rem !important;
  }
}


/* Ajuste solicitado: Próximo jogo azul do sistema e data em uma linha */
body.materialize-system .tt-next-panel,
body.materialize-system.tt-dashboard-body .tt-next-panel {
  background: linear-gradient(135deg, var(--tt-accent, #0b1d3a) 0%, #08152b 100%) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.10) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 14px 28px rgba(15,23,42,.16) !important;
}
body.materialize-system .tt-next-panel > span,
body.materialize-system.tt-dashboard-body .tt-next-panel > span {
  color: rgba(255,255,255,.78) !important;
}
body.materialize-system .tt-next-date,
body.materialize-system.tt-dashboard-body .tt-next-date {
  display: block !important;
  white-space: nowrap !important;
  color: #fff !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}
body.materialize-system .tt-next-date strong,
body.materialize-system .tt-next-date span,
body.materialize-system.tt-dashboard-body .tt-next-date strong,
body.materialize-system.tt-dashboard-body .tt-next-date span {
  color: #fff !important;
  font-weight: 700 !important;
}
body.materialize-system .tt-next-panel .tt-countdown,
body.materialize-system.tt-dashboard-body .tt-next-panel .tt-countdown {
  color: #fff !important;
}
body.materialize-system .tt-next-panel .tt-next-meta,
body.materialize-system .tt-next-panel .tt-next-meta strong,
body.materialize-system .tt-next-panel .tt-next-meta span,
body.materialize-system.tt-dashboard-body .tt-next-panel .tt-next-meta,
body.materialize-system.tt-dashboard-body .tt-next-panel .tt-next-meta strong,
body.materialize-system.tt-dashboard-body .tt-next-panel .tt-next-meta span {
  color: #fff !important;
}
body.materialize-system .tt-next-panel .tt-progress-shell,
body.materialize-system.tt-dashboard-body .tt-next-panel .tt-progress-shell {
  background: rgba(255,255,255,.22) !important;
}
body.materialize-system .tt-next-panel .tt-progress-fill,
body.materialize-system.tt-dashboard-body .tt-next-panel .tt-progress-fill {
  background: #fff !important;
}
@media (max-width: 767.98px) {
  body.materialize-system .tt-next-panel,
  body.materialize-system.tt-dashboard-body .tt-next-panel {
    background: linear-gradient(135deg, var(--tt-accent, #0b1d3a) 0%, #08152b 100%) !important;
    border-radius: 1.125rem !important;
    padding: 1rem !important;
  }
  body.materialize-system .tt-next-date,
  body.materialize-system.tt-dashboard-body .tt-next-date {
    font-size: .92rem !important;
    white-space: nowrap !important;
  }
  body.materialize-system .tt-next-panel .tt-countdown,
  body.materialize-system.tt-dashboard-body .tt-next-panel .tt-countdown {
    background: rgba(255,255,255,.14) !important;
    color: #fff !important;
  }
}
@media (max-width: 374px) {
  body.materialize-system .tt-next-date,
  body.materialize-system.tt-dashboard-body .tt-next-date {
    font-size: .84rem !important;
  }
}


/* Final: card Próximo Jogo igual ao desktop também no mobile */
body.tt-dashboard-body.materialize-system .tt-next-panel,
body.materialize-system.tt-dashboard-body .tt-next-panel,
body.materialize-system .tt-dashboard-hero .tt-next-panel {
  background: #0b1d3a !important;
  background-image: linear-gradient(135deg, #0b1d3a 0%, #08152b 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 14px 28px rgba(15,23,42,.16) !important;
}
body.tt-dashboard-body.materialize-system .tt-next-panel > span,
body.tt-dashboard-body.materialize-system .tt-next-date,
body.tt-dashboard-body.materialize-system .tt-next-date strong,
body.tt-dashboard-body.materialize-system .tt-next-date span,
body.tt-dashboard-body.materialize-system .tt-countdown,
body.tt-dashboard-body.materialize-system .tt-next-meta,
body.tt-dashboard-body.materialize-system .tt-next-meta strong,
body.tt-dashboard-body.materialize-system .tt-next-meta span {
  color: #fff !important;
}
body.tt-dashboard-body.materialize-system .tt-next-date {
  white-space: nowrap !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}
body.tt-dashboard-body.materialize-system .tt-next-panel .tt-progress-shell { background: rgba(255,255,255,.22) !important; }
body.tt-dashboard-body.materialize-system .tt-next-panel .tt-progress-fill { background: #fff !important; }
@media (max-width: 767.98px) {
  body.tt-dashboard-body.materialize-system .tt-next-panel {
    background: #0b1d3a !important;
    background-image: linear-gradient(135deg, #0b1d3a 0%, #08152b 100%) !important;
    border-radius: 1.125rem !important;
    padding: 1rem !important;
    gap: .75rem !important;
    min-height: auto !important;
  }
  body.tt-dashboard-body.materialize-system .tt-next-date {
    font-size: .92rem !important;
    white-space: nowrap !important;
  }
  body.tt-dashboard-body.materialize-system .tt-countdown {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: .25rem 0 0 !important;
    background: none !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-shadow: none !important;
  }
  body.tt-dashboard-body.materialize-system .tt-next-meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: .75rem !important;
    flex-wrap: nowrap !important;
    font-size: .82rem !important;
  }
}

/* Extra final: mobile Próximo Jogo exatamente como desktop, sem badge no contador */
@media (max-width: 767.98px) {
  body.tt-dashboard-body.materialize-system .tt-next-panel .tt-countdown,
  body.materialize-system.tt-dashboard-body .tt-next-panel .tt-countdown,
  body.materialize-system .tt-dashboard-hero .tt-next-panel .tt-countdown {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: .25rem 0 0 !important;
    background: none !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
}


/* Correção: barras de Confirmações do próximo jogo visíveis */
body.materialize-system .tt-bar-track {
  position: relative;
  overflow: hidden !important;
}
body.materialize-system .tt-bar-fill {
  display: block !important;
  height: 100% !important;
  min-width: 0;
  border-radius: 50rem !important;
  transition: width .25s ease, min-width .25s ease !important;
}
body.materialize-system .tt-bar-fill.primary {
  background: var(--tt-accent, #0b1d3a) !important;
}
body.materialize-system .tt-bar-fill.purple {
  background: #0b1d3a !important;
}
body.materialize-system .tt-bar-fill.orange {
  background: #ffab1d !important;
}
body.materialize-system .tt-bar-fill.red {
  background: #ff4d49 !important;
}
body.materialize-system .tt-bar-fill.gray {
  background: #64748b !important;
}
body.materialize-system .tt-bar-fill.muted {
  background: #cbd5e1 !important;
}


/* Mensalidades: barra de atrasos de meses anteriores */
body.materialize-system .tt-bar-fill.danger,
body.tt-dashboard-body.materialize-system .tt-bar-fill.danger {
  background: #b91c1c !important;
}

/* Flattened theme: no gradients */
body.materialize-system .tt-next-panel,
body.materialize-system .tt-hero,
body.materialize-system .tt-summary-hero,
body.materialize-system .tt-banner,
body.materialize-system .tt-payment-hero-card,
body.materialize-system .tt-performance-hero-card,
body.materialize-system .tt-login-btn,
body.materialize-system .tt-profile-banner,
body.materialize-system .menu-vertical .menu-item.active > .menu-link:not(.menu-toggle),
body.materialize-system #layout-menu .menu-item.active > .menu-link:not(.menu-toggle),
body.materialize-system .nav-pills .nav-link.active,
body.materialize-system .page-item.active .page-link,
body.materialize-system .list-group-item.active {
  background-image: none !important;
}
body.materialize-system .btn-primary,
body.materialize-system .btn-success,
body.materialize-system .btn-secondary,
body.materialize-system .btn-warning,
body.materialize-system .btn-danger {
  background-image: none !important;
}

/* Versao 1: azul predominante, verde apenas em botoes, icones e confirmacoes. Sem degrade. */
body.materialize-system * {
  background-image: none !important;
}
body.materialize-system .menu-vertical .menu-item.active > .menu-link:not(.menu-toggle),
body.materialize-system #layout-menu .menu-item.active > .menu-link:not(.menu-toggle),
body.materialize-system .layout-menu,
body.materialize-system .tt-next-panel,
body.materialize-system .tt-profile-banner {
  background-color: var(--tt-accent, #0b1d3a) !important;
}
body.materialize-system .btn-primary,
body.materialize-system .btn-success,
body.materialize-system .btn-secondary,
body.materialize-system .btn-report,
body.materialize-system .btn-custom,
body.materialize-system .swal2-confirm,
body.materialize-system .swal2-styled.swal2-confirm {
  background-color: var(--tt-secondary, #22C55E) !important;
  border-color: var(--tt-secondary, #22C55E) !important;
  color: #ffffff !important;
}
body.materialize-system .tt-icon,
body.materialize-system .tt-stat-icon,
body.materialize-system .tt-kpi-icon,
body.materialize-system .menu-icon:not(.active .menu-icon) {
  color: var(--tt-secondary, #22C55E) !important;
}
body.materialize-system .card::before {
  background: var(--tt-accent, #0b1d3a) !important;
}
body.materialize-system .menu-link .menu-icon,
body.materialize-system .tt-nav-icon i,
body.materialize-system .card i,
body.materialize-system .tt-stat-icon i,
body.materialize-system .tt-kpi-icon i {
  color: var(--tt-secondary, #22C55E) !important;
}
body.materialize-system .menu-vertical .menu-item.active > .menu-link .menu-icon,
body.materialize-system #layout-menu .menu-item.active .menu-icon {
  color: #ffffff !important;
}

/* === TT MOBILE REMOVE ESPACO MENU CONTEUDO 2026-05-19 ===
   Remove o espaco branco no topo mobile e aproxima o conteudo do menu superior
   em todas as paginas que usam o shell Materialize. */
@media (max-width: 1199.98px) {
  html.layout-navbar-fixed,
  html.layout-menu-fixed,
  html.layout-navbar-fixed.layout-menu-fixed {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  html.layout-navbar-fixed body.materialize-system,
  html.layout-menu-fixed body.materialize-system,
  body.materialize-system,
  body.tt-mobile-app {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.materialize-system .layout-wrapper,
  body.materialize-system .layout-container,
  body.materialize-system .layout-page,
  body.materialize-system .content-wrapper,
  html.layout-navbar-fixed body.materialize-system .layout-wrapper,
  html.layout-navbar-fixed body.materialize-system .layout-container,
  html.layout-navbar-fixed body.materialize-system .layout-page,
  html.layout-navbar-fixed body.materialize-system .content-wrapper {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    inset-block-start: auto !important;
    inset-inline-start: auto !important;
    inset-inline-end: auto !important;
    width: 100% !important;
    inline-size: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    z-index: 20 !important;
  }

  body.materialize-system .content-wrapper,
  html.layout-navbar-fixed body.materialize-system .content-wrapper,
  body.materialize-system .layout-page .content-wrapper {
    padding-top: 0 !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container {
    padding-top: .35rem !important;
  }

  body.materialize-system .tt-content-container > *:first-child,
  body.materialize-system .wrap:first-child,
  body.materialize-system .card:first-child,
  body.materialize-system .page-wrap:first-child,
  body.materialize-system .container-fluid:first-child,
  body.materialize-system .tt-dashboard-page:first-child {
    margin-top: 0 !important;
  }

  body.materialize-system .wrap {
    padding-top: 0 !important;
  }

  body.materialize-system > nav.navbar:not(#layout-navbar),
  body.tt-mobile-app > nav.navbar:not(#layout-navbar) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}

@media (max-width: 575.98px) {
  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container {
    padding-top: .25rem !important;
  }
}

/* === TT MOBILE MENU GRUDADO NO TOPO 2026-05-19 v2 ===
   Garante que o menu superior fique colado no topo do viewport mobile
   e que o conteudo acompanhe imediatamente abaixo dele, sem faixa branca. */
@media (max-width: 1199.98px) {
  html,
  html.layout-navbar-fixed,
  html.layout-menu-fixed,
  html.layout-navbar-fixed.layout-menu-fixed,
  body,
  body.materialize-system,
  body.tt-mobile-app,
  body.tt-mobile-app.materialize-system {
    margin-top: 0 !important;
    padding-top: 0 !important;
    scroll-padding-top: 0 !important;
  }

  body.materialize-system .layout-wrapper,
  body.materialize-system .layout-wrapper.layout-content-navbar,
  body.materialize-system .layout-container,
  body.materialize-system .layout-page,
  body.materialize-system .content-wrapper,
  html.layout-navbar-fixed body.materialize-system .layout-wrapper,
  html.layout-navbar-fixed body.materialize-system .layout-container,
  html.layout-navbar-fixed body.materialize-system .layout-page,
  html.layout-navbar-fixed body.materialize-system .content-wrapper {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    padding-top: 0 !important;
    padding-block-start: 0 !important;
    transform: none !important;
  }

  body.materialize-system .layout-wrapper::before,
  body.materialize-system .layout-container::before,
  body.materialize-system .layout-page::before,
  body.materialize-system .content-wrapper::before,
  body.materialize-system #layout-navbar::before {
    content: none !important;
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached {
    position: sticky !important;
    top: 0 !important;
    inset-block-start: 0 !important;
    left: 0 !important;
    right: 0 !important;
    inset-inline-start: 0 !important;
    inset-inline-end: 0 !important;
    width: 100% !important;
    inline-size: 100% !important;
    max-width: 100% !important;
    min-height: 3.2rem !important;
    height: auto !important;
    margin: 0 !important;
    margin-block-start: 0 !important;
    margin-inline: 0 !important;
    padding: .34rem .62rem !important;
    border-radius: 0 !important;
    z-index: 1140 !important;
    transform: none !important;
    box-shadow: 0 .18rem .75rem rgba(15,23,42,.10) !important;
  }

  body.materialize-system #layout-navbar .navbar-nav-right {
    width: 100% !important;
    min-height: 2.45rem !important;
    height: auto !important;
    gap: .45rem !important;
  }

  body.materialize-system #layout-navbar + .content-wrapper,
  body.materialize-system .layout-page > .content-wrapper,
  html.layout-navbar-fixed body.materialize-system #layout-navbar + .content-wrapper,
  html.layout-navbar-fixed body.materialize-system .layout-page > .content-wrapper {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    padding-top: 0 !important;
    padding-block-start: 0 !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container,
  body.materialize-system .content-wrapper > .container-xxl,
  body.materialize-system .content-wrapper > .container-fluid {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    padding-top: .28rem !important;
    padding-block-start: .28rem !important;
  }

  body.materialize-system .tt-content-container > *:first-child,
  body.materialize-system .wrap > *:first-child,
  body.materialize-system .content-wrapper > *:first-child,
  body.materialize-system .container-fluid > *:first-child,
  body.materialize-system .container-xxl > *:first-child,
  body.materialize-system main > *:first-child {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
  }

  body.materialize-system > nav.navbar:not(#layout-navbar),
  body.tt-mobile-app > nav.navbar:not(#layout-navbar),
  body.materialize-system .content-wrapper nav.navbar:not(#layout-navbar) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}

@media (max-width: 575.98px) {
  body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached {
    min-height: 3.05rem !important;
    padding: .3rem .55rem !important;
  }

  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container,
  body.materialize-system .content-wrapper > .container-xxl,
  body.materialize-system .content-wrapper > .container-fluid {
    padding-top: .22rem !important;
    padding-block-start: .22rem !important;
  }
}

/* === TT MOBILE TOP GLUED FINAL 2026-05-19 v3 === */
@media (max-width: 1199.98px) {
  html.layout-navbar-fixed,
  html.layout-menu-fixed,
  html.layout-navbar-fixed.layout-menu-fixed,
  body.materialize-system,
  body.tt-mobile-app,
  body.tt-mobile-app.materialize-system { margin: 0 !important; padding: 0 !important; margin-top: 0 !important; padding-top: 0 !important; scroll-padding-top: 0 !important; }
  body.materialize-system .layout-wrapper,
  body.materialize-system .layout-wrapper.layout-content-navbar,
  body.materialize-system .layout-container,
  body.materialize-system .layout-page { margin: 0 !important; margin-top: 0 !important; padding: 0 !important; padding-top: 0 !important; transform: none !important; width: 100% !important; max-width: 100% !important; }
  body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached { position: fixed !important; inset: 0 0 auto 0 !important; top: 0 !important; right: 0 !important; bottom: auto !important; left: 0 !important; inset-block-start: 0 !important; inset-inline-start: 0 !important; inset-inline-end: 0 !important; width: 100% !important; inline-size: 100% !important; max-width: 100% !important; min-height: 56px !important; height: 56px !important; margin: 0 !important; margin-block: 0 !important; margin-inline: 0 !important; padding: 8px 12px !important; border-radius: 0 !important; z-index: 1200 !important; transform: translate3d(0,0,0) !important; box-shadow: 0 .25rem .9rem rgba(15,23,42,.10) !important; }
  body.materialize-system #layout-navbar .navbar-nav-right { width: 100% !important; min-height: 40px !important; height: 40px !important; gap: .45rem !important; }
  body.materialize-system .content-wrapper,
  html.layout-navbar-fixed body.materialize-system .content-wrapper,
  body.materialize-system .layout-page > .content-wrapper { margin: 0 !important; margin-top: 0 !important; padding-top: 56px !important; transform: none !important; width: 100% !important; max-width: 100% !important; }
  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container,
  body.materialize-system .content-wrapper > .container-xxl,
  body.materialize-system .content-wrapper > .container-fluid { margin-top: 0 !important; padding-top: 8px !important; padding-block-start: 8px !important; }
  body.materialize-system .tt-content-container > *:first-child,
  body.materialize-system .wrap > *:first-child,
  body.materialize-system .content-wrapper > *:first-child,
  body.materialize-system .container-fluid > *:first-child,
  body.materialize-system .container-xxl > *:first-child,
  body.materialize-system main > *:first-child { margin-top: 0 !important; margin-block-start: 0 !important; }
  body.materialize-system .menu-mobile-toggler { display: none !important; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; }
  body.materialize-system #layout-menu.layout-menu.menu-vertical { top: 0 !important; bottom: 0 !important; inset-block: 0 !important; height: 100dvh !important; }
  body.materialize-system > nav.navbar:not(#layout-navbar),
  body.tt-mobile-app > nav.navbar:not(#layout-navbar),
  body.materialize-system .content-wrapper nav.navbar:not(#layout-navbar) { display: none !important; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; }
}
@media (max-width: 575.98px) {
  body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached,
  html.layout-navbar-fixed.layout-menu-fixed body.materialize-system #layout-navbar.layout-navbar.navbar-detached { min-height: 54px !important; height: 54px !important; padding: 7px 10px !important; }
  body.materialize-system #layout-navbar .navbar-nav-right { min-height: 40px !important; height: 40px !important; }
  body.materialize-system .content-wrapper,
  html.layout-navbar-fixed body.materialize-system .content-wrapper,
  body.materialize-system .layout-page > .content-wrapper { padding-top: 54px !important; }
  body.materialize-system .tt-content-container,
  body.materialize-system .container-p-y.tt-content-container,
  body.materialize-system .container-xxl.tt-content-container,
  body.materialize-system .content-wrapper > .container-xxl,
  body.materialize-system .content-wrapper > .container-fluid { padding-top: 6px !important; padding-block-start: 6px !important; }
}
