/* Revoo AI ID — Frontend V85 Revisi 46 | Aksesibilitas + kembali ke atas.
   Tidak mengubah logika input, data, navigasi SPA, atau shortcut bawaan. */
.revoo-r46-backtop {
  position: fixed;
  right: 23px;
  bottom: 23px;
  z-index: 145;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 15px;
  border: 1px solid #b8d7c8;
  background: #fffefa;
  color: #286b57;
  box-shadow: 0 8px 22px rgba(41,80,66,.14);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease,
              background-color .2s ease, box-shadow .2s ease;
}
.revoo-r46-backtop.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.revoo-r46-backtop:hover {
  background: #e9f4ed;
  box-shadow: 0 10px 24px rgba(41,80,66,.2);
}
.revoo-r46-backtop svg {width: 20px; height: 20px; display: block;}
.revoo-r46-backtop:focus-visible {
  outline: 3px solid #2f8365;
  outline-offset: 3px;
}
.revoo-r46-skip-link {
  position: fixed;
  z-index: 1000;
  top: 10px;
  left: 50%;
  transform: translate(-50%,-160%);
  background: #fffefa;
  color: #1c5846;
  border: 2px solid #2f8365;
  border-radius: 12px;
  padding: 12px 18px;
  box-shadow: 0 10px 24px rgba(27,68,53,.19);
  font-size: 13px;
  font-weight: 700;
}
.revoo-r46-skip-link:focus-visible {transform: translate(-50%,0);outline: 2px solid #2f8365;outline-offset: 3px;}
/* Fokus keyboard harus terlihat tanpa menimpa efek hover dan style klik biasa. */
.app-shell :is(.sidebar-link, .sidebar-account-button, .topbar button,
  .page-content button, .page-content a[href], .page-content input,
  .page-content select, .page-content textarea, .page-content [role="button"],
  .page-content [tabindex]):focus-visible {
  outline: 2px solid #298467 !important;
  outline-offset: 3px;
}
.app-shell .page-content :is(input,button,select,textarea,a[href], [tabindex]) {scroll-margin-top: 106px;}
@media screen and (min-width:1150px) and (min-height:521px) {
  html:has(.persistent-page-panel.is-active .cash-summary-grid)
   .page-content :is(input,button,select,textarea,a[href], [tabindex]),
  html:has(.persistent-page-panel.is-active .income-summary-grid)
   .page-content :is(input,button,select,textarea,a[href], [tabindex]) {
    scroll-margin-top: 206px;
  }
}
@media screen and (max-width:760px) {
  .revoo-r46-backtop {width: 42px; height: 42px; right: 15px; bottom: calc(82px + env(safe-area-inset-bottom,0px));}
}
/* Jangan menutupi operasi modal, bilah cetak, dan tampilan login. */
body:has(.modal-backdrop) .revoo-r46-backtop,
body:has(dialog[open]) .revoo-r46-backtop,
body:not(:has(.page-content)) .revoo-r46-backtop {display: none !important;}
html[data-theme="dark"] .revoo-r46-backtop,
html[data-theme="dark"] .revoo-r46-skip-link {
  background: #213e35; border-color: #537d69; color: #eff9f2;
  box-shadow: 0 9px 24px rgba(0,0,0,.3);
}
html[data-theme="dark"] .revoo-r46-backtop:hover {background: #315446;}
html[data-theme="dark"] .app-shell :is(.sidebar-link, .sidebar-account-button,
 .topbar button, .page-content button, .page-content a[href], .page-content input,
 .page-content select, .page-content textarea, .page-content [role="button"],
 .page-content [tabindex]):focus-visible {outline-color:#8de4b3!important;}
@media (prefers-reduced-motion:reduce) {
  .revoo-r46-backtop {transition:none!important; transform:none!important;}
}
@media print {.revoo-r46-backtop,.revoo-r46-skip-link{display:none!important;}}
