/* Opaque pinned cells keep scrolling figures behind their labels. */
.brzn-main table { isolation: isolate; }
.brzn-main table :is(td,th).sticky {
  background: hsl(var(--card, 25 15% 14%)) !important;
  background-clip: border-box;
  box-shadow: 1px 0 0 hsl(var(--border, 25 10% 28%)), 7px 0 12px -9px #000;
}
.brzn-main table thead.sticky,
.brzn-main table thead th.sticky,
.brzn-main table tfoot,
.brzn-main table tfoot td.sticky {
  background: hsl(var(--muted, 25 12% 22%)) !important;
}
.brzn-main table tbody tr:hover td.sticky,
.brzn-main table tbody tr[data-state='selected'] td.sticky {
  background: hsl(var(--muted, 25 12% 22%)) !important;
}
.brzn-main table th.sticky { z-index: 20; }
.brzn-main table td.sticky { z-index: 10; }
.brzn-main table:is(.monthly-analytics-table, :has(th[class*='left-[100px]'])) { --label-width: 190px; }
.brzn-main table:is(.monthly-analytics-table, :has(th[class*='left-[100px]'])) tr > :first-child {
  width: var(--label-width); min-width: var(--label-width); max-width: var(--label-width);
  white-space: normal; overflow-wrap: anywhere;
}
.brzn-main table:is(.monthly-analytics-table, :has(th[class*='left-[100px]'])) tr > :nth-child(2).sticky { left: var(--label-width); }
/* Keep paired chart cards aligned even while one is hovered. */
.brzn-chart-grid > div > .brzn-glass,
.brzn-chart-grid > div > .brzn-glass:hover { transform:none !important; translate:none !important; }
@media(min-width:641px){
 .nav-expanded .brzn-rail .brzn-nav span { background:transparent !important; color:inherit !important; box-shadow:none !important; }
}

/* Keep native numeric validation and keyboard controls without browser steppers. */
input[type="number"] { -moz-appearance: textfield; appearance: textfield; }
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
/* Consistent inset and vertical alignment for native appearance selectors. */
.pulse-font-grid select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23aeb4bf' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 16px 16px !important;
}
/* Low contrast scrollbars keep wide reports usable without a white track. */
.brzn-shell * { scrollbar-width: thin; scrollbar-color: #ffffff45 transparent; }
.brzn-shell ::-webkit-scrollbar { width: 8px; height: 8px; }
.brzn-shell ::-webkit-scrollbar-track { background: transparent; }
.brzn-shell ::-webkit-scrollbar-thumb { background: #ffffff45; border-radius: 8px; }
.brzn-shell ::-webkit-scrollbar-thumb:hover { background: #ffffff70; }
.brzn-shell ::-webkit-scrollbar-corner { background: transparent; }

/* Let the segmented control fit its content instead of clipping its padding. */
.brzn-shell [role="tablist"] {
  height: auto;
  min-height: 44px;
  align-items: stretch;
  gap: 4px;
  box-sizing: border-box;
}
.brzn-shell [role="tablist"] > [role="tab"] {
  min-height: 32px;
  min-width: 0;
  margin: 0;
  align-self: stretch;
  translate: none !important;
}
