
/* Hover-scrubber safety. (Old .dss-tl-overlap chip styles removed — the strip
   now renders only solid single-colour .dss-tl-bar segments, no overlap chips.) */
.dss-hover-line, .dss-hover-tip{ pointer-events:none !important; }


/* Every button gets the same tactile 3D look (raised ledge + inset highlight)
   and bold text, regardless of its own colour. Placed last + !important so it
   wins over the app's older layered button rules. To revert: delete this block. */
.btn-primary, .btn-ghost, .btn-danger, .btn-stop, .btn-override,
.btn-sync, .btn-clr-back, .btn-clr-proceed, .btn-icon,
.nav-btn, .jrn-tab, .shc-tab,
.landing-btn, .landing-btn-ghost, .landing-btn-ghost-lg {
  font-weight: 800 !important;
  text-shadow: 0 1px 1px rgba(0,0,0,0.35) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.28),
    inset 0 -1px 0 rgba(0,0,0,0.28),
    0 4px 0 rgba(0,0,0,0.34),
    0 7px 16px -5px rgba(0,0,0,0.55) !important;
  transition: transform .12s cubic-bezier(.2,.7,.3,1), box-shadow .12s ease !important;
  transform: translateY(0) !important;
}
.btn-primary:hover, .btn-ghost:hover, .btn-danger:hover, .btn-stop:hover,
.btn-override:hover, .btn-sync:hover:not(:disabled), .btn-clr-back:hover,
.btn-clr-proceed:hover:not(:disabled), .btn-icon:hover,
.nav-btn:hover, .jrn-tab:hover, .shc-tab:hover,
.landing-btn:hover, .landing-btn-ghost:hover, .landing-btn-ghost-lg:hover {
  transform: translateY(-1px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.32),
    0 6px 0 rgba(0,0,0,0.34),
    0 11px 22px -6px rgba(0,0,0,0.6) !important;
}
.btn-primary:active, .btn-ghost:active, .btn-danger:active, .btn-stop:active,
.btn-override:active, .btn-sync:active, .btn-clr-back:active,
.btn-clr-proceed:active, .btn-icon:active,
.nav-btn:active, .jrn-tab:active, .shc-tab:active,
.landing-btn:active, .landing-btn-ghost:active, .landing-btn-ghost-lg:active {
  transform: translateY(3px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.2),
    0 1px 0 rgba(0,0,0,0.3),
    0 2px 6px -2px rgba(0,0,0,0.5) !important;
}
/* Bold the button label spans that hold the text */
.jrn-tab-label, .shc-tab-label, .nav-btn span { font-weight: 800 !important; }


@keyframes dashValIn{ from{ opacity:0; transform:translateY(5px); } to{ opacity:1; transform:none; } }
#dashboardPage.dash-data-in .stat-val,
#dashboardPage.dash-data-in .stat-trend{ animation:dashValIn .45s cubic-bezier(.2,.7,.3,1) both; }
