/* Shared Mario AI navigation menu and interaction motion. */
.mobile-menu,
.dashboard-menu {
  position: fixed !important;
  inset: 0 !important;
  z-index: 300 !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  padding: 76px 18px 18px !important;
  background: rgba(15, 23, 42, .38) !important;
  backdrop-filter: blur(3px);
  opacity: 0;
  visibility: hidden;
  display: flex !important;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}
@media (max-width: 720px) {
  .mobile-menu,
  .dashboard-menu { padding: 76px 12px 12px !important; }
}
.mobile-menu.open,
.dashboard-menu.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.mobile-menu-card,
.dashboard-menu-card {
  width: min(100%, 360px) !important;
  max-height: calc(100dvh - 88px);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 18px !important;
  border: 1px solid #dce3ed !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 22px 58px rgba(23,32,51,.24) !important;
  transform: translateY(-12px) scale(.98);
  transform-origin: top right;
  transition: transform .24s cubic-bezier(.2,.8,.2,1), opacity .2s ease;
}
.open .mobile-menu-card,
.open .dashboard-menu-card { transform: translateY(0) scale(1); }
.mobile-menu-header,
.dashboard-menu-heading {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  margin: 0 0 14px !important;
  padding: 0 0 13px !important;
  border-bottom: 1px solid #e7ebf1 !important;
}
.mobile-menu-eyebrow,
.dashboard-menu-heading span {
  color: #f97316 !important;
  font-size: .66rem !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
}
.mobile-menu-header h2,
.dashboard-menu-heading h2 { margin: 4px 0 0 !important; font-size: 1.15rem !important; line-height: 1.2 !important; }
.mobile-menu-close,
.dashboard-menu-heading > button {
  width: 40px !important; min-width: 40px !important; height: 40px !important; min-height: 40px !important;
  padding: 0 !important; border: 1px solid #dce3ed !important; border-radius: 12px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  background: #fff !important; color: #172033 !important;
}
.mobile-menu-actions,
.dashboard-menu-actions { display: grid !important; gap: 8px !important; margin: 0 !important; }
.mobile-menu-actions > a,
.mobile-menu-actions > button,
.dashboard-menu-actions > a,
.dashboard-menu-actions > button {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 62px !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid #e1e7ef !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #172033 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  text-align: left !important;
  text-decoration: none !important;
  font: inherit !important;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease !important;
}
.mobile-menu-actions > a:hover,
.mobile-menu-actions > button:hover,
.dashboard-menu-actions > a:hover,
.dashboard-menu-actions > button:hover { border-color: #fdba74 !important; background: #fff8f2 !important; box-shadow: 0 5px 15px rgba(249,115,22,.08); }
.mobile-menu-actions > a:active,
.mobile-menu-actions > button:active,
.dashboard-menu-actions > a:active,
.dashboard-menu-actions > button:active { transform: scale(.985); }
.mobile-menu-actions > * > svg,
.dashboard-menu-actions > * > svg { width: 20px !important; height: 20px !important; flex: 0 0 20px !important; color: #f97316 !important; }
.mobile-menu-actions > * > span,
.dashboard-menu-actions > * > span { display: flex !important; min-width: 0 !important; flex: 1 !important; flex-direction: column !important; }
.mobile-menu-actions strong,
.dashboard-menu-actions strong { font-size: .86rem !important; line-height: 1.25 !important; }
.mobile-menu-actions small,
.dashboard-menu-actions small { margin-top: 3px !important; color: #68758a !important; font-size: .72rem !important; font-weight: 500 !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
.btn,.panel-tab,.suggested-filter,.action-btn,.btn-page { transition: transform .16s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease !important; }
.btn:active,.panel-tab:active,.suggested-filter:active,.action-btn:active,.btn-page:active { transform: scale(.97); }
html.theme-changing body,
html.theme-changing .app-header,
html.theme-changing .dashboard-header,
html.theme-changing .table-pane,
html.theme-changing .side-panel,
html.theme-changing .card-box,
html.theme-changing .panel,
html.theme-changing .metrics article { transition: background-color .32s ease,background .32s ease,color .25s ease,border-color .25s ease,box-shadow .3s ease !important; }
html[data-theme="dark"] .mobile-menu-card,
html[data-theme="dark"] .dashboard-menu-card,
html[data-theme="dark"] .mobile-menu-close,
html[data-theme="dark"] .dashboard-menu-heading > button,
html[data-theme="dark"] .mobile-menu-actions > a,
html[data-theme="dark"] .mobile-menu-actions > button,
html[data-theme="dark"] .dashboard-menu-actions > a,
html[data-theme="dark"] .dashboard-menu-actions > button { background: #0f1a2b !important; border-color: #304158 !important; color: #f8fafc !important; }
html[data-theme="dark"] .mobile-menu-header,
html[data-theme="dark"] .dashboard-menu-heading { border-color: #304158 !important; }
html[data-theme="dark"] .mobile-menu-actions small,
html[data-theme="dark"] .dashboard-menu-actions small { color: #aebbd0 !important; }
html[data-theme="dark"] .mobile-menu-actions > a:hover,
html[data-theme="dark"] .mobile-menu-actions > button:hover,
html[data-theme="dark"] .dashboard-menu-actions > a:hover,
html[data-theme="dark"] .dashboard-menu-actions > button:hover { background: #18263a !important; border-color: #c25a25 !important; }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }


  
