:root {
  --app-bg: #f4f7fb;
  --card: #fff;
  --text: #172033;
  --muted: #728096;
  --line: #e6edf5;
  --brand: #1768e5;
  --brand-2: #0aa6a6;
  --sidebar: #132136;
  --sidebar-2: #1d314d;
  scrollbar-width: thin;
}

* {
  box-sizing: border-box
}

body {
  background: var(--app-bg);
  color: var(--text);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif
}

textarea {
  font-family: inherit;
  height: 100% !important;
}

.d-none {
  display: none !important;
}

.app-shell {
  min-height: 100vh;
  display: flex
}

.app-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 270px;
  background: linear-gradient(180deg, var(--sidebar), var(--sidebar-2));
  color: #fff;
  padding: 1rem;
  z-index: 1030;
  overflow: auto
}

.app-content {
  margin-left: 270px;
  min-height: 100vh;
  width: calc(100% - 270px)
}

.brand-box {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .8rem .7rem 1.1rem;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  margin-bottom: 1rem
}

.brand-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(135deg, #46d5ff, #1768e5);
  display: grid;
  place-items: center;
  font-size: 1.4rem;
  box-shadow: 0 12px 24px rgba(23, 104, 229, .3)
}

.brand-title {
  font-weight: 800;
  letter-spacing: .04em
}

.brand-subtitle {
  font-size: .82rem;
  color: #b9c7d9
}

.menu-label {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #93a4bb;
  margin: 1.1rem .75rem .45rem
}

.menu-link {
  display: flex;
  align-items: center;
  gap: .7rem;
  color: #d8e2ef;
  text-decoration: none;
  padding: .72rem .78rem;
  border-radius: 14px;
  margin: .15rem 0;
  font-weight: 600;
  font-size: .93rem
}

.menu-link:hover {
  background: rgba(255, 255, 255, .08);
  color: #fff
}

.menu-link.active {
  background: #fff;
  color: #1768e5;
  box-shadow: 0 10px 20px rgba(0, 0, 0, .14)
}

.menu-link i {
  font-size: 1.08rem
}

.topbar {
  height: 74px;
  background: rgba(255, 255, 255, .9);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  padding: 0 1.5rem;
  position: sticky;
  top: 0;
  z-index: 1020
}

.topbar-title {
  font-weight: 800
}

.topbar-date {
  font-size: .82rem;
  color: var(--muted)
}

.user-chip {
  display: flex;
  align-items: center;
  gap: .65rem
}

.avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #e9f1ff;
  color: #1768e5;
  display: grid;
  place-items: center;
  font-weight: 800
}

.content-wrap {
  padding: 1.5rem
}

.accurate-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(36, 52, 79, .07);
  padding: 1.25rem
}

.dashboard-hero {
  background: radial-gradient(circle at 85% 0%, rgba(10, 166, 166, .12), transparent 32%), linear-gradient(135deg, #fff, #f7fbff)
}

.eyebrow {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #1768e5;
  font-weight: 800
}

.period-chip {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 999px;
  padding: .55rem .8rem;
  font-weight: 700;
  color: #4d5d73
}

.metric-card {
  position: relative;
  overflow: hidden
}

.metric-icon {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 1.25rem;
  margin-bottom: 1rem
}

.metric-primary {
  background: #e7f0ff;
  color: #1768e5
}

.metric-success {
  background: #e8f8ee;
  color: #198754
}

.metric-warning {
  background: #fff4df;
  color: #b76b00
}

.metric-info {
  background: #e8f8fa;
  color: #0aa6a6
}

.metric-label {
  color: var(--muted);
  font-size: .86rem;
  font-weight: 700
}

.metric-value {
  font-size: 1.45rem;
  font-weight: 850;
  margin-top: .25rem;
  letter-spacing: -.02em
}

.metric-note {
  color: var(--muted);
  font-size: .82rem;
  margin-top: .25rem
}

.card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem
}

.health-ring-wrap {
  display: flex;
  align-items: center;
  gap: 1rem
}

.health-ring {
  --value: 0;
  width: 118px;
  height: 118px;
  flex: 0 0 118px;
  border-radius: 50%;
  background: conic-gradient(#1768e5 calc(var(--value)*1%), #e9eef6 0);
  display: grid;
  place-items: center;
  position: relative
}

.health-ring:before {
  content: "";
  position: absolute;
  inset: 12px;
  background: #fff;
  border-radius: 50%
}

.health-ring span {
  position: relative;
  font-size: 1.4rem;
  font-weight: 850
}

.mini-list {
  display: grid;
  gap: .65rem
}

.mini-list div,
.list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid var(--line);
  padding: .65rem 0
}

.mini-list div:last-child,
.list-row:last-child {
  border-bottom: 0
}

.mini-list span,
.list-row span {
  color: #5f6f83
}

.mini-list strong,
.list-row strong {
  white-space: nowrap
}

.quick-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  position: relative;
  transition: .2s transform, .2s box-shadow
}

.quick-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(36, 52, 79, .12)
}

.quick-icon {
  width: 50px;
  height: 50px;
  border-radius: 18px;
  background: #eff6ff;
  color: #1768e5;
  display: grid;
  place-items: center;
  font-size: 1.35rem;
  flex: 0 0 50px
}

.list-table {
  display: grid
}

.list-row small {
  display: block;
  color: var(--muted);
  font-size: .75rem;
  margin-top: .15rem
}

.timeline-list {
  display: grid;
  gap: .85rem
}

.timeline-item {
  display: flex;
  gap: .75rem
}

.timeline-item>span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #1768e5;
  margin-top: .35rem;
  box-shadow: 0 0 0 4px #e7f0ff;
  flex: 0 0 10px
}

.timeline-item strong {
  display: block;
  font-size: .86rem
}

.timeline-item p {
  margin: .1rem 0;
  color: var(--muted);
  font-size: .82rem
}

.timeline-item small {
  color: #9aa7b8
}

.card {
  border-radius: 1rem;
  border: 1px solid var(--line);
  box-shadow: 0 10px 24px rgba(36, 52, 79, .06) !important
}

.table th {
  background: #f8fafc;
  color: #64748b;
  font-size: .85rem
}

.form-control,
.form-select,
.btn {
  border-radius: 5px
}

pre {
  white-space: pre-wrap;
  font-family: inherit
}

.offcanvas .sidebar-menu {
  background: linear-gradient(180deg, var(--sidebar), var(--sidebar-2));
  min-height: 100%;
  padding: 1rem
}

.offcanvas .menu-link.active {
  box-shadow: none
}

@media(max-width:991.98px) {
  .app-sidebar {
    display: none
  }

  .app-content {
    margin-left: 0;
    width: 100%
  }

  .topbar {
    height: auto;
    min-height: 68px;
    padding: .85rem 1rem
  }

  .content-wrap {
    padding: 1rem
  }

  .metric-value {
    font-size: 1.2rem
  }
}

@media print {

  .no-print,
  .app-sidebar,
  .topbar,
  .offcanvas {
    display: none !important
  }

  .app-content {
    margin-left: 0;
    width: 100%
  }

  body {
    background: #fff
  }

  .accurate-card,
  .card {
    box-shadow: none !important;
    border: 0 !important
  }

  .content-wrap {
    padding: 0 !important
  }

  .table th {
    background: #fff !important;
    color: #000 !important
  }
}

/* Accurate-style tab workspace */
body.embed-body {
  background: #efefef;
  overflow: auto
}

.embed-content {
  /* padding: 14px 14px 24px */
}

.accurate-shell {
  min-height: 100vh;
  display: flex;
  background: #e9ecef;
  color: #1f2933
}

.accurate-iconbar {
  width: 55px;
  position: fixed;
  inset: 0 auto 0 0;
  background: linear-gradient(90deg, #071a40, #1c5790);
  z-index: 1050;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 76px;
  box-shadow: 4px 0 12px rgba(0, 0, 0, .18)
}

.iconbar-btn {
  width: 55px;
  height: 46px;
  border: 0;
  background: transparent;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 1.45rem;
  text-decoration: none;
  cursor: pointer;
  border-left: 4px solid transparent
}

.iconbar-btn:hover,
.iconbar-btn.active {
  background: rgba(255, 255, 255, .13);
  color: #fff;
  border-left-color: #59d13f
}

.iconbar-spacer {
  flex: 1
}

.accurate-main {
  margin-left: 55px;
  width: calc(100% - 55px);
  min-height: 100vh
}

.accurate-header {
  height: 42px;
  background: radial-gradient(circle at 72% -30%, rgba(255, 20, 122, .85), transparent 19%), radial-gradient(circle at 90% 0%, rgba(18, 190, 143, .75), transparent 19%), linear-gradient(95deg, #f7f8fb 0, #f7f8fb 26%, #274874 58%, #0a315d 100%);
  border-bottom: 1px solid #be1557;
  display: flex;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 1040
}

.accurate-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 12px;
  min-width: 330px
}

.accurate-mark {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #e73262;
  color: #fff;
  font-weight: 900;
  display: grid;
  place-items: center;
  font-size: 1.25rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .25)
}

.accurate-logo-text {
  font-size: 1.36rem;
  font-style: normal;
  font-weight: 800;
  color: #6d6e71;
  line-height: 1
}

.accurate-logo-text span {
  font-size: 1rem;
  font-weight: 600;
  color: #919294
}

.accurate-brand small {
  display: block;
  font-size: .56rem;
  color: #283142;
  line-height: 1
}

.header-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  padding-right: 12px
}

.head-icon {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 1.18rem;
  padding: 0
}

.company-chip {
  text-align: right;
  line-height: 1.05;
  font-size: 1rem
}

.company-chip small {
  display: block;
  font-size: .78rem;
  color: #dbeafe
}

.header-avatar {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: #eef2f7;
  color: #667085;
  display: grid;
  place-items: center;
  font-weight: 800
}

.accurate-tabbar {
  height: 35px;
  background: #ddd;
  border-bottom: 1px solid #c7c7c7;
  display: flex;
  align-items: flex-end;
  overflow-x: auto;
  position: sticky;
  top: 42px;
  z-index: 1038
}

.app-tab {
  height: 32px;
  border: 1px solid #a9a9a9;
  border-bottom: 0;
  background: linear-gradient(#eeeeee, #d3d3d3);
  border-radius: 5px 5px 0 0;
  padding: 0 11px;
  min-width: 104px;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  margin: 0 2px;
  color: #555;
  font-weight: 500;
  white-space: nowrap
}

.app-tab.active {
  background: #e83466;
  color: #fff;
  border-color: #d3134f;
  font-weight: 800
}

.app-tab .tab-close {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  margin-left: 5px;
  font-size: 1.05rem;
  line-height: 1;
  opacity: .85
}

.app-tab.fixed-tab .tab-close {
  display: none
}

.workspace-wrap {
  position: relative;
  height: calc(100vh - 77px);
  background: #f3f3f3;
  overflow: hidden
}

.tab-workspace,
.tab-pane-frame {
  height: 100%;
  width: 100%
}

.tab-pane-frame {
  display: none
}

.tab-pane-frame.active {
  display: block
}

.tab-pane-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
  background: #f3f3f3
}

.workspace-alert {
  position: absolute;
  left: 16px;
  right: 16px;
  top: 10px;
  z-index: 1080
}

.launcher-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .08);
  z-index: 1060;
  display: none
}

.launcher-backdrop.show {
  display: block
}

.launcher-panel {
  position: absolute;
  left: 5px;
  top: 16px;
  width: min(530px, calc(100vw - 90px));
  max-height: calc(100vh - 110px);
  overflow: auto;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, .22);
  z-index: 1065;
  padding: 18px 12px 22px;
  display: none
}

.launcher-panel.show {
  display: block
}

.launcher-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 8px
}

.launcher-head h2 {
  font-size: 1.45rem;
  font-weight: 400;
  color: #555;
  margin: 0
}

.launcher-line {
  height: 2px;
  background: #df2e63;
  margin-bottom: 20px
}

.launcher-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(100px, 1fr));
  gap: 10px
}

.launcher-tile {
  min-height: 120px;
  border: 1px solid #5fa7ce;
  border-radius: 6px;
  background: #cfe8fb;
  color: #3f4750;
  box-shadow: 0 3px 8px rgba(0, 0, 0, .14);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 9px;
  cursor: pointer
}

.launcher-tile:hover {
  filter: brightness(1.02);
  transform: translateY(-1px)
}

.launcher-tile i {
  font-size: 2.15rem;
  color: #147da9;
  margin-bottom: 8px
}

.launcher-tile strong {
  font-weight: 500;
  font-size: .88rem;
  line-height: 1.15
}

.launcher-tile small {
  display: none
}

.tile-green {
  background: #d8f4d0;
  border-color: #67bb45
}

.tile-green i {
  color: #4a9a27
}

.tile-orange {
  background: #fff1ce;
  border-color: #e3a442
}

.tile-orange i {
  color: #c77b00
}

.tile-purple {
  background: #eddcff;
  border-color: #9d61d3
}

.tile-purple i {
  color: #7c2ea8
}

.tile-cyan {
  background: #d8f4fb;
  border-color: #52abc0
}

.tile-cyan i {
  color: #148aa3
}

.tile-pink {
  background: #f4e2ff;
  border-color: #ba70d3
}

.tile-pink i {
  color: #8c23a8
}

/* Dashboard widgets closer to the requested screenshot */
.embed-body .dashboard-hero,
.embed-body .row.g-3.mb-4:first-of-type {
  display: none
}

.embed-body .accurate-card {
  border-radius: 4px;
  box-shadow: none;
  border: 1px solid #c8c8c8;
  padding: 10px;
  background: #fff
}

.embed-body .card-head {
  border-bottom: 1px solid #ddd;
  margin: -2px -2px 9px;
  padding: 0 3px 6px
}

.embed-body .card-head h5 {
  font-size: .93rem;
  font-weight: 700
}

.embed-body .metric-card {
  min-height: 130px
}

.embed-body .metric-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  margin-bottom: .7rem
}

.embed-body .metric-value {
  font-size: 1.2rem
}

.embed-body .quick-card {
  border-left: 4px solid #e83466
}

.embed-body .content-wrap {
  padding: 10px
}

.embed-body .health-ring {
  width: 98px;
  height: 98px;
  flex-basis: 98px
}

.embed-body .health-ring span {
  font-size: 1.1rem
}

/* Help tab */
.help-page {
  display: grid;
  grid-template-columns: 39% 1fr;
  gap: 18px;
  min-height: calc(100vh - 40px)
}

.help-welcome-card,
.help-setup-card {
  background: #fff;
  border: 1px solid #c9c9c9;
  border-radius: 4px;
  box-shadow: 0 1px 7px rgba(0, 0, 0, .12);
  padding: 26px
}

.help-welcome-card {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center
}

.help-illustration {
  height: 260px;
  width: 100%;
  max-width: 390px;
  position: relative;
  margin-bottom: 8px
}

.circle-bg {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 230px;
  height: 230px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #ffe7ef;
  border: 5px solid #ffd3e0
}

.help-illustration i {
  position: absolute;
  display: grid;
  place-items: center
}

.help-illustration .people {
  font-size: 7.5rem;
  color: #54b6d5;
  left: 50%;
  top: 55%;
  transform: translate(-50%, -50%);
  z-index: 2
}

.help-illustration .chart {
  font-size: 3.2rem;
  color: #e93c74;
  right: 36px;
  top: 62px
}

.help-illustration .wallet {
  font-size: 2.5rem;
  color: #2b75bb;
  left: 38px;
  top: 80px
}

.help-illustration .bank {
  font-size: 2.7rem;
  color: #74bd21;
  right: 78px;
  bottom: 42px
}

.help-welcome-card h2 {
  font-size: 1.55rem;
  font-weight: 500;
  margin: 8px 0 16px
}

.help-welcome-card p {
  font-size: 1rem;
  color: #555;
  max-width: 475px
}

.help-check {
  color: #b42318;
  align-self: flex-start;
  text-align: left;
  display: flex;
  gap: 8px
}

.help-setup-card h3 {
  font-size: 1.45rem;
  font-weight: 500;
  margin-bottom: 18px
}

.setup-list {
  display: grid;
  gap: 10px
}

.setup-item {
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 14px 13px;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 12px
}

.setup-icon {
  width: 30px;
  height: 30px;
  border-radius: 5px;
  border: 1px solid #f2a1bd;
  color: #e83466;
  display: grid;
  place-items: center
}

.setup-copy strong {
  display: block;
  font-size: 1rem;
  margin-bottom: 5px
}

.setup-copy span {
  display: block;
  color: #8a8a8a;
  font-size: .9rem
}

.setup-item .btn {
  border-radius: 3px;
  min-width: 106px
}

@media(max-width:900px) {
  .accurate-header {
    height: auto;
    min-height: 46px
  }

  .accurate-brand {
    min-width: 220px
  }

  .launcher-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .help-page {
    grid-template-columns: 1fr
  }

  .header-actions .head-icon,
  .company-chip {
    display: none
  }

  .workspace-wrap {
    height: calc(100vh - 81px)
  }
}


/* Accurate-style inner data tab and form page */
.accurate-data-page,
.accurate-list-page {
  min-height: calc(100vh - 28px);
  background: #f2f2f2;
  padding: 0 8px 18px
}

.accurate-inner-tabs {
  display: flex;
  align-items: flex-end;
  border-bottom: 1px solid #b7b7b7;
  margin: -14px -14px 12px;
  background: #ededed;
  padding-left: 10px
}

.inner-list-tab {
  height: 38px;
  min-width: 48px;
  background: #58bc2f;
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #48a726;
  border-bottom: 0;
  border-radius: 3px 3px 0 0;
  font-weight: 700;
  padding: 0 12px
}

.inner-list-tab i {
  font-size: 1.35rem
}

.inner-data-tab {
  height: 36px;
  background: #fff;
  border: 1px solid #c4c4c4;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 12px;
  font-weight: 600;
  color: #333;
  margin-left: 5px
}

.inner-data-tab.active {
  box-shadow: 0 -1px 0 #fff inset
}

.inner-close {
  color: #333;
  text-decoration: none;
  font-size: 1.2rem;
  line-height: 1
}

.accurate-entry-form {
  background: #fff;
  border: 1px solid #c7c7c7;
  box-shadow: 0 2px 7px rgba(0, 0, 0, .13);
  min-height: 430px;
  padding: 0 112px 28px 0;
  position: relative
}

.entry-tabs {
  display: flex;
  align-items: flex-end;
  height: 34px;
  background: #e9e9e9;
  border-bottom: 1px solid #bcbcbc;
  padding-left: 0
}

.entry-tab {
  height: 34px;
  border: 1px solid #aaa;
  border-bottom: 0;
  background: linear-gradient(#dedede, #c9c9c9);
  padding: 0 15px;
  font-size: .92rem;
  color: #555
}

.entry-tab.active {
  background: #fff;
  color: #222;
  font-weight: 700;
  position: relative;
  top: 1px
}

.entry-panel {
  display: none;
  padding: 20px 18px
}

.entry-panel.active {
  display: block
}

.entry-section-title {
  font-size: 1.34rem;
  font-weight: 400;
  color: #126da9;
  border-bottom: 1px solid #d9d9d9;
  padding-bottom: 8px;
  margin: 0 0 14px
}

.classic-field {
  display: grid;
  grid-template-columns: 170px 1fr;
  align-items: center;
  margin-bottom: 9px;
  gap: 10px
}

.classic-field label {
  margin: 0;
  font-size: .95rem;
  color: #1f2933;
  padding-left: 10px
}

.classic-field.required label:after {
  content: ' *';
  color: #e02020
}

.classic-field .form-control,
.classic-field .form-select {
  border-radius: 3px;
  border-color: #c5c5c5;
  min-height: 34px
}

.classic-field-textarea {
  align-items: start
}

.classic-field-textarea label {
  padding-top: 8px
}

.entry-form-toolbar {
  position: absolute;
  right: 0;
  top: 34px;
  width: 94px;
  bottom: 0;
  background: #f3f3f3;
  border-left: 1px solid #e5e5e5;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 38px;
  gap: 24px
}

.side-action {
  width: 58px;
  height: 56px;
  border: 1px solid #b4b4b4;
  border-radius: 5px;
  background: #e9e9e9;
  color: #777;
  display: grid;
  place-items: center;
  text-decoration: none;
  font-size: 1.8rem;
  box-shadow: 0 3px 7px rgba(0, 0, 0, .18)
}

.side-action.save {
  background: #e9e9e9
}

.side-action.attach {
  background: #8eceff;
  border-color: #3c97dd;
  color: #095c96
}

.side-action:hover {
  filter: brightness(.98);
  color: inherit
}

.list-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px
}

.accurate-list-card {
  border-radius: 4px !important;
  box-shadow: 0 1px 6px rgba(0, 0, 0, .12) !important
}

.accurate-search .form-control,
.accurate-search .btn {
  border-radius: 3px
}

@media(max-width:900px) {
  .accurate-entry-form {
    padding-right: 0
  }

  .entry-form-toolbar {
    position: static;
    width: auto;
    height: auto;
    flex-direction: row;
    border-left: 0;
    border-top: 1px solid #ddd;
    padding: 12px
  }

  .classic-field {
    grid-template-columns: 1fr
  }

  .classic-field label {
    padding-left: 0
  }

  .entry-tabs {
    overflow: auto
  }

  .inner-list-tab span {
    display: none
  }
}

/* Fix list/form inner tabs: list tab only shows icon, Data Baru stays visible on list page */
.accurate-inner-tabs .inner-list-tab span {
  display: none !important
}

.inner-list-tab.active {
  background: #58bc2f;
  color: #fff;
  border-color: #48a726
}

.inner-data-tab {
  text-decoration: none
}

.inner-data-tab:hover {
  color: #333;
  background: #f7f7f7
}

.accurate-list-workspace {
  padding: 0 6px 12px;
  background: #f2f2f2
}

.accurate-list-workspace .accurate-inner-tabs {
  margin: -14px -14px 0
}

.accurate-list-toolbar {
  background: #f5f5f5;
  border: 1px solid #bdbdbd;
  border-top: 0;
  padding: 11px 12px 12px
}

.toolbar-row {
  display: flex;
  align-items: center;
  gap: 10px
}

.toolbar-row-filter {
  margin-bottom: 10px
}

.toolbar-row-action {
  justify-content: space-between
}

.toolbar-left-actions,
.toolbar-right-actions {
  display: flex;
  align-items: center;
  gap: 6px
}

.toolbar-select {
  width: auto;
  min-width: 128px;
  height: 35px;
  border-radius: 3px
}

.toolbar-square {
  width: 46px;
  height: 34px;
  border-radius: 4px !important;
  display: inline-grid !important;
  place-items: center;
  padding: 0 !important
}

.toolbar-plus {
  width: 60px;
  height: 34px;
  border-radius: 4px !important;
  display: inline-grid !important;
  place-items: center;
  padding: 0 !important;
  font-size: 1.25rem;
  font-weight: 800
}

.accurate-list-search {
  display: flex;
  align-items: center;
  position: relative;
  margin-left: 20px
}

.accurate-list-search .form-control {
  width: 225px;
  height: 34px;
  border-radius: 3px;
  padding-right: 36px
}

.accurate-list-search .btn {
  position: absolute;
  right: 2px;
  top: 0;
  bottom: 0;
  color: #111;
  text-decoration: none;
  padding: 0 10px
}

.toolbar-count {
  width: 70px;
  height: 34px;
  border-radius: 3px;
  text-align: right;
  background: #fff
}

.accurate-grid-wrap {
  border: 1px solid #d7d7d7;
  border-top: 0;
  background: #fff;
  min-height: 335px;
  overflow: auto
}

.accurate-grid-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .92rem
}

.accurate-grid-table thead th {
  background: #5f7488 !important;
  color: #fff !important;
  border-right: 1px solid rgba(255, 255, 255, .25);
  font-weight: 500;
  height: 34px;
  padding: 6px 10px
}

.accurate-grid-table tbody td {
  height: 36px;
  border-bottom: 1px solid #edf0f2;
  border-right: 1px solid #eeeeee;
  padding: 6px 10px;
  color: #111
}

.grid-sort-cell {
  width: 32px;
  text-align: center;
  color: #d8e0e8
}

.grid-sort-cell i {
  display: block;
  font-size: .55rem;
  line-height: .55rem
}

.grid-action-col {
  width: 90px
}

@media(max-width:900px) {

  .toolbar-row-action,
  .toolbar-right-actions {
    align-items: flex-start;
    flex-wrap: wrap
  }

  .accurate-list-search {
    margin-left: 0
  }

  .accurate-list-search .form-control {
    width: 190px
  }

  .accurate-grid-wrap {
    min-height: 280px
  }
}

/* Global Accurate-like list/form refinements for every module */
.accurate-form-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 34px
}

.toolbar-number {
  width: 82px !important
}

.toolbar-year {
  width: 110px !important
}

.accurate-split-grid {
  padding-bottom: 18px
}

.accurate-split-grid .accurate-grid-table {
  margin-bottom: 12px
}

.accurate-subgrid-title {
  font-weight: 700;
  color: #333;
  padding: 9px 10px;
  background: #f7f7f7;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  position: sticky !important;
  top: 0px !important;
  z-index: 10 !important;
}

.accurate-grid-table tfoot th {
  background: #f7f7f7;
  border-top: 1px solid #d7d7d7;
  padding: 8px 10px
}

.accurate-inline-form {
  padding-right: 0;
  min-height: 510px
}

.accurate-inline-form .entry-form-toolbar {
  display: none
}

.accurate-dashboard-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(145px, 1fr));
  gap: 10px;
  margin: 12px 0
}

.accurate-mini-card {
  background: #fff;
  border: 1px solid #c7c7c7;
  border-radius: 4px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, .1);
  padding: 12px 14px;
  min-height: 70px
}

.accurate-mini-card span {
  display: block;
  color: #777;
  font-size: .83rem;
  margin-bottom: 4px
}

.accurate-mini-card strong {
  font-size: 1.18rem;
  color: #111
}

.accurate-module-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 12px;
  padding: 12px;
  background: #fff;
  border: 1px solid #ccc
}

.accurate-module-tile {
  min-height: 122px;
  border: 1px solid #6ab0d0;
  background: #d8eefc;
  border-radius: 6px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, .12);
  text-decoration: none;
  color: #344;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 12px
}

.accurate-module-tile:hover {
  color: #111;
  filter: brightness(1.02);
  transform: translateY(-1px)
}

.accurate-module-tile i {
  font-size: 2.05rem;
  color: #167ca8;
  margin-bottom: 8px
}

.accurate-module-tile strong {
  font-size: .95rem
}

.accurate-module-tile span {
  font-size: .78rem;
  color: #667;
  margin-top: 4px
}

.accurate-menu-page .accurate-list-toolbar {
  border-top: 1px solid #bdbdbd
}

.accurate-grid-table pre {
  font-family: inherit;
  white-space: pre-wrap
}

.accurate-grid-table .btn {
  border-radius: 3px
}

.entry-panel .accurate-grid-table {
  border: 1px solid #ddd
}

.entry-panel .alert {
  border-radius: 3px
}

.entry-panel .btn {
  border-radius: 3px
}

.embed-body .accurate-list-page {
  min-height: calc(100vh - 8px)
}

@media(max-width:1100px) {
  .accurate-dashboard-strip {
    grid-template-columns: repeat(2, 1fr)
  }

  .accurate-module-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .accurate-form-grid-2 {
    grid-template-columns: 1fr
  }

  .toolbar-row-filter {
    flex-wrap: wrap
  }
}

@media(max-width:680px) {

  .accurate-dashboard-strip,
  .accurate-module-grid {
    grid-template-columns: 1fr
  }

  .toolbar-left-actions,
  .toolbar-right-actions {
    flex-wrap: wrap
  }

  .accurate-list-search .form-control {
    width: 150px !important
  }
}


/* Header full-width and Accurate-style tab overflow dropdown */
.accurate-shell {
  display: block
}

.accurate-header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 1060
}

.accurate-iconbar {
  top: 42px;
  bottom: 0;
  inset: 42px auto 0 0;
  padding-top: 28px;
  z-index: 1050
}

.accurate-main {
  margin-left: 55px;
  width: calc(100% - 55px);
  padding-top: 42px
}

.accurate-tabbar {
  top: 42px;
  overflow: visible;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-right: 0
}

.tabs-strip {
  height: 35px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  white-space: nowrap;
  flex: 1;
  min-width: 0
}

.tab-hidden-overflow {
  display: none !important
}

.tab-overflow {
  width: 62px;
  height: 35px;
  margin-left: auto;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  background: #d9d9d9;
  border-left: 1px solid #c7c7c7
}

.tab-overflow-btn {
  height: 35px;
  width: 62px;
  border: 0;
  border-left: 1px solid #bdbdbd;
  background: #e6e6e6;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-weight: 600
}

.tab-overflow-btn:hover {
  background: #efefef
}

.tab-overflow-menu {
  min-width: 235px;
  max-height: 360px;
  overflow: auto;
  border-radius: 2px;
  padding: 4px 0;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .18)
}

.tab-overflow-item {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 4px
}

.tab-overflow-item.active .dropdown-item {
  font-weight: 700;
  color: #d3134f
}

.tab-overflow-item .dropdown-item {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 7px 8px;
  border-radius: 2px
}

.tab-overflow-close {
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  color: #666;
  font-size: 1.15rem;
  line-height: 1;
  border-radius: 2px
}

.tab-overflow-close:hover {
  background: #f0d3dc;
  color: #d3134f
}

@media(max-width:900px) {
  .accurate-header {
    height: 42px;
    min-height: 42px
  }

  .accurate-iconbar {
    top: 42px
  }

  .accurate-main {
    padding-top: 42px
  }

  .workspace-wrap {
    height: calc(100vh - 77px)
  }
}

/* Modern KPRI login page */
.login-accurate-page {
  min-height: 100vh;
  background: #eef2f7;
  color: #172033;
  overflow: hidden;
  position: relative
}

.login-accurate-page:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 8%, rgba(229, 45, 103, .42), transparent 25%), radial-gradient(circle at 66% 0%, rgba(23, 104, 229, .38), transparent 26%), radial-gradient(circle at 95% 42%, rgba(16, 185, 129, .28), transparent 28%), linear-gradient(135deg, #f7f9fd 0%, #eff4fb 38%, #e7ecf6 100%);
  z-index: 0
}

.login-accurate-page:after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(120deg, rgba(255, 255, 255, .45), rgba(255, 255, 255, 0) 44%), repeating-linear-gradient(135deg, rgba(255, 255, 255, .25) 0 1px, transparent 1px 18px);
  z-index: 0;
  pointer-events: none
}

.login-accurate-header {
  position: relative;
  z-index: 1;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 26px;
  border-bottom: 1px solid rgba(255, 255, 255, .45);
  background: rgba(255, 255, 255, .32);
  backdrop-filter: blur(14px);
  box-shadow: 0 1px 18px rgba(36, 52, 79, .08)
}

.login-brand-wrap {
  display: flex;
  align-items: center;
  gap: 11px
}

.login-brand-mark {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #e83262;
  color: #fff;
  font-size: 1.45rem;
  font-weight: 900;
  display: grid;
  place-items: center;
  box-shadow: 0 8px 20px rgba(232, 50, 98, .28)
}

.login-brand-title {
  font-size: 1.46rem;
  font-weight: 900;
  font-style: italic;
  color: #5f6368;
  letter-spacing: -.03em;
  line-height: 1
}

.login-brand-title span {
  font-weight: 700;
  color: #8a8d92
}

.login-brand-subtitle {
  font-size: .72rem;
  color: #334155;
  margin-top: 2px
}

.login-header-right {
  align-items: center;
  gap: 18px;
  color: #fff;
  font-weight: 700;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .25)
}

.login-header-right span {
  display: inline-flex;
  align-items: center;
  gap: 6px
}

.login-accurate-main {
  position: relative;
  z-index: 1;
  min-height: calc(100vh - 64px);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .74fr);
  gap: 38px;
  align-items: center;
  padding: 42px 6vw
}

.login-hero-panel {
  min-height: 620px;
  display: flex;
  align-items: center
}

.login-hero-glass {
  max-width: 720px;
  border: 1px solid rgba(255, 255, 255, .72);
  background: rgba(255, 255, 255, .48);
  box-shadow: 0 26px 80px rgba(27, 44, 71, .13);
  backdrop-filter: blur(18px);
  border-radius: 28px;
  padding: 42px
}

.login-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid rgba(232, 50, 98, .18);
  color: #e83262;
  border-radius: 999px;
  padding: 8px 13px;
  font-weight: 800;
  font-size: .86rem;
  margin-bottom: 22px
}

.login-hero-glass h1 {
  font-size: 3rem;
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -.055em;
  margin: 0 0 17px;
  color: #12213a
}

.login-hero-glass p {
  font-size: 1.08rem;
  line-height: 1.7;
  color: #526175;
  max-width: 650px;
  margin: 0 0 28px
}

.login-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px
}

.login-feature-grid div {
  background: rgba(255, 255, 255, .75);
  border: 1px solid rgba(203, 213, 225, .72);
  border-radius: 18px;
  padding: 16px 14px;
  box-shadow: 0 12px 30px rgba(36, 52, 79, .07)
}

.login-feature-grid i {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: #e7f0ff;
  color: #1768e5;
  font-size: 1.25rem;
  margin-bottom: 12px
}

.login-feature-grid strong {
  display: block;
  color: #111827
}

.login-feature-grid span {
  display: block;
  color: #667085;
  font-size: .78rem;
  margin-top: 3px
}

.login-card-panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 14px
}

.login-card {
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(255, 255, 255, .85);
  border-radius: 26px;
  padding: 30px;
  box-shadow: 0 26px 75px rgba(31, 42, 68, .18);
  backdrop-filter: blur(18px)
}

.login-card-head {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 22px
}

.login-lock-icon {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: linear-gradient(135deg, #e83262, #1768e5);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 1.65rem;
  box-shadow: 0 12px 28px rgba(232, 50, 98, .22)
}

.login-card h2 {
  margin: 0;
  font-size: 1.55rem;
  font-weight: 900;
  color: #142033;
  letter-spacing: -.035em
}

.login-card p {
  margin: 3px 0 0;
  color: #728096
}

.login-alert {
  display: flex;
  align-items: center;
  gap: 9px;
  background: #fff0f3;
  color: #b42318;
  border: 1px solid #ffccd5;
  border-radius: 14px;
  padding: 11px 13px;
  font-weight: 700;
  font-size: .9rem;
  margin-bottom: 17px
}

.login-form {
  display: grid;
  gap: 16px
}

.login-field label {
  display: block;
  font-weight: 800;
  color: #344054;
  font-size: .88rem;
  margin-bottom: 7px
}

.login-input-wrap {
  position: relative
}

.login-input-wrap>i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #6b7a90;
  font-size: 1.06rem
}

.login-input-wrap .form-control {
  height: 48px;
  border-radius: 14px;
  border: 1px solid #d5dce8;
  background: #fff;
  padding-left: 43px;
  padding-right: 48px;
  font-weight: 650;
  box-shadow: none
}

.login-input-wrap .form-control:focus {
  border-color: #1768e5;
  box-shadow: 0 0 0 .22rem rgba(23, 104, 229, .12)
}

.login-password-toggle {
  position: absolute;
  right: 6px;
  top: 6px;
  width: 36px;
  height: 36px;
  border: 0;
  background: #f3f6fb;
  color: #5e6d82;
  border-radius: 11px;
  display: grid;
  place-items: center
}

.login-password-toggle:hover {
  background: #e7f0ff;
  color: #1768e5
}

.login-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: .88rem;
  margin-top: 2px
}

.login-check {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #475467;
  font-weight: 650;
  cursor: pointer
}

.login-check input {
  width: 16px;
  height: 16px
}

.login-help {
  color: #1768e5;
  font-weight: 800;
  cursor: help
}

.login-submit {
  height: 50px;
  border: 0;
  border-radius: 15px;
  background: linear-gradient(135deg, #1768e5, #0aa6a6);
  color: #fff;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 15px 30px rgba(23, 104, 229, .24);
  margin-top: 2px
}

.login-submit:hover {
  filter: brightness(1.04);
  transform: translateY(-1px)
}

.login-demo-box {
  margin-top: 18px;
  border-radius: 16px;
  background: #f7f9fc;
  border: 1px dashed #cbd5e1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  color: #667085;
  font-size: .88rem
}

.login-demo-box strong {
  color: #172033
}

.login-demo-box em {
  font-style: normal;
  color: #98a2b3
}

.login-footer-note {
  text-align: center;
  color: #f8fafc;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .38);
  font-weight: 700;
  font-size: .82rem
}

@media(max-width:1050px) {
  .login-accurate-main {
    grid-template-columns: 1fr;
    padding: 28px 22px
  }

  .login-hero-panel {
    min-height: auto
  }

  .login-hero-glass {
    max-width: none
  }

  .login-hero-glass h1 {
    font-size: 2.2rem
  }

  .login-card-panel {
    max-width: 560px;
    width: 100%;
    margin: 0 auto
  }

  .login-feature-grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width:620px) {
  .login-accurate-header {
    height: auto;
    min-height: 64px;
    padding: 12px 16px
  }

  .login-brand-title {
    font-size: 1.18rem
  }

  .login-brand-subtitle {
    font-size: .66rem
  }

  .login-accurate-main {
    padding: 18px 12px
  }

  .login-hero-glass {
    padding: 24px;
    border-radius: 22px
  }

  .login-hero-glass h1 {
    font-size: 1.65rem
  }

  .login-hero-glass p {
    font-size: .94rem
  }

  .login-feature-grid {
    grid-template-columns: 1fr
  }

  .login-card {
    padding: 22px;
    border-radius: 22px
  }

  .login-options {
    align-items: flex-start;
    flex-direction: column
  }

  .login-card-head {
    align-items: flex-start
  }

  .login-lock-icon {
    width: 52px;
    height: 52px
  }
}

/* RAT year selector fix: use native dropdown and keep workspace embed clean */
.rat-filter-toolbar {
  padding: 10px 12px !important;
  background: #fff;
  border-bottom: 1px solid #cfcfcf
}

.rat-year-form {
  gap: 8px;
  align-items: center
}

.toolbar-label {
  font-size: .86rem;
  color: #444;
  font-weight: 600;
  margin-right: 2px;
  white-space: nowrap
}

.toolbar-year-select {
  width: 126px !important;
  height: 34px;
  border: 1px solid #b9c4d0;
  border-radius: 6px;
  background-color: #fff;
  color: #222;
  font-weight: 600;
  padding-left: 10px;
  box-shadow: none !important
}

.toolbar-year-select:focus {
  border-color: #2f80ed;
  box-shadow: 0 0 0 .2rem rgba(47, 128, 237, .12) !important
}

.embed-body .accurate-list-page {
  overflow: visible
}

/* Tab overflow text fix: keep tab labels clean and move extra tabs to dropdown */
.accurate-tabbar {
  overflow: visible !important;
  min-width: 0 !important;
}

.tabs-strip {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: flex-end !important;
}

.app-tab {
  flex: 0 0 auto !important;
  min-width: 112px !important;
  max-width: 174px !important;
  justify-content: space-between !important;
  overflow: hidden !important;
  padding: 0 9px !important;
}

.app-tab span {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.app-tab .tab-close {
  flex: 0 0 auto !important;
  margin-left: 6px !important;
}

.app-tab.fixed-tab {
  min-width: 104px !important;
}

.app-tab.fixed-tab span {
  max-width: 150px !important;
}

.tab-hidden-overflow {
  display: none !important;
}

.tab-overflow {
  flex: 0 0 62px !important;
}

.tab-overflow-btn span {
  min-width: 18px;
  text-align: right;
}

@media(max-width:900px) {
  .app-tab {
    min-width: 96px !important;
    max-width: 132px !important
  }

  .app-tab.fixed-tab {
    min-width: 86px !important
  }

  .tab-overflow {
    flex-basis: 54px !important
  }

  .tab-overflow-btn {
    width: 54px !important
  }
}


/* Accurate-style Daftar Akun: grouped Saldo Debet/Kredit */
.akun-accurate-page .accurate-filter-select {
  width: 150px !important;
  height: 35px;
  border: 1px solid #b8c4d2;
  border-radius: 5px;
  background: #fff;
  color: #344054
}

.akun-accurate-page .accurate-code-select {
  width: 240px !important
}

.akun-accurate-page .toolbar-filter-row {
  gap: 10px;
  align-items: center;
  padding: 10px 8px 6px
}

.akun-accurate-page .toolbar-row-action {
  padding: 6px 8px 12px
}

.akun-accurate-page .accurate-filter-btn {
  height: 35px;
  min-width: 48px;
  border-radius: 5px;
  background: #dceefa
}

.akun-accurate-page .accurate-search-wrap {
  position: relative;
  display: flex;
  align-items: center
}

.akun-accurate-page .accurate-search-wrap .form-control {
  width: 225px;
  height: 35px;
  border-radius: 5px;
  padding-right: 38px
}

.akun-accurate-page .accurate-search-btn {
  position: absolute;
  right: 3px;
  top: 3px;
  width: 31px;
  height: 29px;
  border: 0;
  background: transparent;
  color: #111;
  font-size: 1.05rem
}

.akun-grid-table thead tr:first-child th {
  background: #5d768d;
  color: #fff;
  border-color: #8798a8;
  font-weight: 600;
  vertical-align: middle
}

.akun-grid-table thead tr:nth-child(2) th {
  background: #6f879c;
  color: #fff;
  border-color: #8798a8;
  font-weight: 600;
  vertical-align: middle
}

.akun-grid-table thead small {
  color: #eaf2f9;
  font-weight: 400;
  font-size: .72rem
}

.akun-grid-table td,
.akun-grid-table th {
  height: 39px;
  border-right: 1px dotted #d6dce4 !important;
  border-bottom: 1px solid #e7ebef !important;
  padding: 8px 10px !important
}

.akun-grid-table tbody tr:nth-child(even) {
  background: #f7f7f7
}

.akun-grid-table tbody tr:hover {
  background: #eef7ff
}

.akun-grid-table .akun-col-kode {
  width: 200px
}

.akun-grid-table .akun-col-tipe {
  width: 200px
}

.akun-grid-table .akun-col-money {
  width: 170px
}

.akun-grid-table .akun-col-aksi {
  width: 90px
}

.akun-grid-table .akun-col-saldo {
  text-align: center !important
}

.akun-grid-table .akun-child {
  padding-left: 27px !important;
  color: #1f2937
}

.akun-grid-table .akun-child-name {
  padding-left: 27px !important
}

.akun-grid-table tfoot th {
  background: #eef3f8 !important;
  color: #111;
  font-weight: 800;
  border-top: 2px solid #5d768d !important
}

@media(max-width:900px) {

  .akun-accurate-page .toolbar-filter-row,
  .akun-accurate-page .toolbar-row-action {
    flex-wrap: wrap
  }

  .akun-accurate-page .accurate-filter-select,
  .akun-accurate-page .accurate-code-select,
  .akun-accurate-page .accurate-search-wrap .form-control {
    width: 100% !important
  }

  .akun-accurate-page .accurate-search-wrap {
    flex: 1 1 220px
  }
}

/* Accurate-style Daftar Akun form, mengikuti layout Data Baru Accurate */
.akun-form-accurate-page {
  background: #efefef;
  min-height: 100%;
  padding-bottom: 18px
}

.akun-entry-form {
  position: relative;
  margin: 0 8px 8px
}

.akun-entry-tabs {
  height: 35px;
  display: flex;
  align-items: flex-end;
  gap: 3px;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #b8b8b8
}

.akun-entry-tabs .entry-tab {
  height: 32px;
  border: 1px solid #9b9b9b;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  background: linear-gradient(#d5d5d5, #bebebe);
  padding: 0 13px;
  color: #454545;
  font-size: 16px
}

.akun-entry-tabs .entry-tab.active {
  background: #fff;
  color: #1f2937;
  border-top: 2px solid #e62e65
}

.akun-entry-card {
  position: relative;
  background: #fff;
  border: 1px solid #bdbdbd;
  border-radius: 5px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .16);
  min-height: 430px;
  padding: 10px 10px 22px;
  margin-right: 110px
}

.akun-entry-card .entry-panel {
  display: none
}

.akun-entry-card .entry-panel.active {
  display: block
}

.akun-classic-field {
  display: grid;
  grid-template-columns: 185px 280px;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px
}

.akun-classic-field>label {
  font-size: 16px;
  color: #111;
  margin: 0;
  line-height: 1.2
}

.akun-classic-field.required>label span,
.akun-classic-field label span {
  color: #d82626
}

.akun-control {
  height: 34px !important;
  border-radius: 4px !important;
  border: 1px solid #c9c9c9 !important;
  box-shadow: none !important;
  background: #fff !important;
  font-size: 16px !important
}

.akun-select {
  width: 278px !important
}

.akun-form-check {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  color: #111
}

.akun-form-check .form-check-input {
  width: 20px;
  height: 20px;
  margin: 0
}

.akun-form-check .form-check-label {
  cursor: pointer
}

.akun-search-select-wrap {
  position: relative;
  width: 278px
}

.akun-parent-select {
  width: 278px !important;
  padding-right: 38px !important;
  color: #777
}

.akun-search-select-wrap i {
  position: absolute;
  right: 9px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: #111;
  pointer-events: none
}

.auto-code-row {
  grid-template-columns: 185px minmax(350px, 1fr)
}

.auto-code-row .akun-form-check {
  min-width: 420px
}

.akun-example-row {
  align-items: start;
  margin-top: 20px
}

.akun-example-text {
  color: #777;
  font-style: italic;
  font-size: 16px;
  line-height: 1.45
}

.akun-panel-title {
  font-size: 24px;
  font-weight: 400;
  color: #263238;
  margin: 6px 0 20px
}

.saldo-field {
  grid-template-columns: 140px 270px;
  margin-left: 4px
}

.saldo-field>label {
  text-align: right;
  padding-right: 12px
}

.akun-money-group {
  width: 273px
}

.akun-money-group .input-group-text {
  height: 34px;
  border-radius: 4px 0 0 4px;
  background: #f2f2f2;
  color: #777;
  border: 1px solid #c9c9c9
}

.akun-money-group .form-control {
  border-left: 0 !important;
  border-radius: 0 4px 4px 0 !important
}

.akun-date {
  width: 273px !important
}

.akun-note-field {
  grid-template-columns: 185px 372px;
  align-items: start
}

.akun-note-field label {
  padding-top: 7px
}

.akun-textarea {
  height: 70px !important;
  resize: vertical
}

.akun-access-title {
  border-bottom: 1px solid #ddd;
  padding-bottom: 6px;
  margin-top: 32px;
  margin-bottom: 8px
}

.akun-access-line {
  padding-left: 20px
}

.akun-side-toolbar {
  position: absolute;
  right: 28px;
  top: 30px;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.akun-side-toolbar .side-action {
  width: 82px;
  height: 56px;
  border-radius: 5px;
  border: 1px solid #c7c7c7;
  background: #e0e0e0;
  color: #9a9a9a;
  display: grid;
  place-items: center;
  font-size: 32px;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .2)
}

.akun-side-toolbar .side-action.save {
  background: #0571c9;
  color: #fff;
  border-color: #075ba2
}

.akun-side-toolbar .side-action.save:hover {
  filter: brightness(1.05)
}

.akun-entry-form:has(input:focus, select:focus, textarea:focus) .inner-data-tab:before {
  content: '*'
}

@media(max-width:900px) {
  .akun-entry-card {
    margin-right: 0;
    min-height: 380px
  }

  .akun-side-toolbar {
    position: static;
    display: flex;
    flex-direction: row;
    margin-top: 12px
  }

  .akun-classic-field,
  .saldo-field,
  .akun-note-field {
    grid-template-columns: 1fr;
    gap: 5px
  }

  .saldo-field {
    margin-left: 0
  }

  .saldo-field>label {
    text-align: left;
    padding-right: 0
  }

  .akun-select,
  .akun-parent-select,
  .akun-search-select-wrap,
  .akun-date,
  .akun-money-group {
    width: 100% !important
  }

  .auto-code-row .akun-form-check {
    min-width: 0
  }

  .akun-entry-tabs {
    overflow: auto
  }

  .akun-entry-tabs .entry-tab {
    white-space: nowrap
  }
}

/* Daftar Akun - indentasi hierarki kode akun KPRI */
.akuntansi-akun-page .akun-grid-table td.akuntansi-indent-fix {
  padding-left: 0 !important
}

.akuntansi-akun-page .akun-grid-table .akun-level-0.akuntansi-indent-fix {
  padding-left: 8px !important
}

.akuntansi-akun-page .akun-grid-table .akun-level-1.akuntansi-indent-fix {
  padding-left: 26px !important
}

.akuntansi-akun-page .akun-grid-table .akun-level-2.akuntansi-indent-fix {
  padding-left: 46px !important
}

.akuntansi-akun-page .akun-grid-table .akun-level-3.akuntansi-indent-fix {
  padding-left: 66px !important
}

.akuntansi-akun-page .akun-grid-table tr.akun-level-0 td {
  font-weight: 600;
  background: #fff
}

.akuntansi-akun-page .akun-grid-table tr.akun-level-1 td {
  font-weight: 500;
  background: #fbfbfb
}

.akuntansi-akun-page .akun-grid-table tr.akun-level-2 td {
  font-weight: 400
}

.akun-grid-table td.akuntansi-indent-fix {
  padding-left: 0 !important
}

.akun-grid-table td.akuntansi-indent-fix.akun-level-0 {
  padding-left: 8px !important
}

.akun-grid-table td.akuntansi-indent-fix.akun-level-1 {
  padding-left: 26px !important
}

.akun-grid-table td.akuntansi-indent-fix.akun-level-2 {
  padding-left: 46px !important
}

.akun-grid-table td.akuntansi-indent-fix.akun-level-3 {
  padding-left: 66px !important
}

.akun-grid-table tr.akuntansi-parent-top td {
  font-weight: 600;
  background: #fff
}

/* Final polish Daftar Akun: tab rapi, toolbar simple, table body scroll only, sticky table header */
.embed-body:has(.akuntansi-akun-page) {
  overflow: hidden !important;
  background: #ededed !important;
}

.embed-body:has(.akuntansi-akun-page) .embed-content {
  height: 100vh !important;
  overflow: hidden !important;
}

.akuntansi-akun-page {
  height: 100vh !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  background: #ededed !important;
  padding: 0 6px 6px !important;
  overflow: hidden !important;
}

.akuntansi-akun-page .accurate-inner-tabs {
  flex: 0 0 42px !important;
  margin: 0 -6px 0 !important;
  padding-left: 8px !important;
  background: #ededed !important;
  border-top: 1px solid #e83466 !important;
  border-bottom: 1px solid #b8b8b8 !important;
  align-items: flex-end !important;
}

.akuntansi-akun-page .inner-list-tab {
  height: 39px !important;
  min-width: 55px !important;
  background: #58bd31 !important;
  border: 1px solid #48a627 !important;
  border-bottom: 0 !important;
  border-radius: 4px 4px 0 0 !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35) !important;
}

.akuntansi-akun-page .inner-list-tab i {
  font-size: 1.45rem !important;
}

.akuntansi-akun-page .inner-data-tab {
  height: 38px !important;
  background: linear-gradient(#ffffff, #f6f6f6) !important;
  border: 1px solid #b6b6b6 !important;
  border-bottom: 0 !important;
  border-radius: 5px 5px 0 0 !important;
  color: #333 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  padding: 0 12px !important;
  margin-left: 3px !important;
  box-shadow: 0 -1px 0 #fff inset !important;
}

.akuntansi-akun-page .inner-data-tab .inner-close {
  font-weight: 700 !important;
  margin-left: 3px !important;
  color: #333 !important;
}

.akuntansi-akun-page .akun-toolbar {
  flex: 0 0 auto !important;
  background: #ededed !important;
  border: 1px solid #c9c9c9 !important;
  border-top: 0 !important;
  padding: 10px 8px 12px !important;
  margin: 0 !important;
}

.akuntansi-akun-page .toolbar-filter-row {
  padding: 0 0 10px !important;
  margin: 0 !important;
  display: flex !important;
  gap: 10px !important;
}

.akuntansi-akun-page .toolbar-row-action {
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.akuntansi-akun-page .accurate-filter-select {
  height: 35px !important;
  border: 1px solid #b8c1c9 !important;
  border-radius: 4px !important;
  background: #fff !important;
  font-size: 12px !important;
  color: #1f2933 !important;
  box-shadow: none !important;
}

.akuntansi-akun-page .accurate-code-select {
  display: none !important;
}

.akuntansi-akun-page .accurate-filter-btn {
  height: 35px !important;
  min-width: 48px !important;
  border: 1px solid #147bb2 !important;
  border-radius: 4px !important;
  background: #d6edf9 !important;
  color: #075c90 !important;
}

.akuntansi-akun-page .toolbar-plus {
  width: 60px !important;
  height: 34px !important;
  border-radius: 4px !important;
  background: #0e4f9d !important;
  border-color: #0e4f9d !important;
  color: #fff !important;
  font-size: 1.25rem !important;
  box-shadow: none !important;
}

.akuntansi-akun-page .toolbar-square {
  width: 46px !important;
  height: 34px !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #0a5d93 !important;
  border: 1px solid #0a74ad !important;
  box-shadow: none !important;
}

.akuntansi-akun-page .accurate-search-wrap .form-control {
  height: 35px !important;
  width: 225px !important;
  border: 1px solid #b8c1c9 !important;
  border-radius: 4px !important;
  font-size: 16px !important;
  background: #fff !important;
}

.akuntansi-akun-page .toolbar-count {
  height: 35px !important;
  width: 70px !important;
  border: 1px solid #b8c1c9 !important;
  border-radius: 4px !important;
  background: #fff !important;
  text-align: right !important;
}

.akuntansi-akun-page .akun-grid-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: auto !important;
  border: 1px solid #d4d4d4 !important;
  border-top: 0 !important;
  background: #fff !important;
  margin: 0 !important;
  box-shadow: none !important;
}

.akuntansi-akun-page .akun-grid-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  min-width: 1040px !important;
  font-size: 16px !important;
  background: #fff !important;
}

.akuntansi-akun-page .akun-grid-table thead {
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
}

.akuntansi-akun-page .akun-grid-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 21 !important;
  background: #5f788f !important;
  color: #fff !important;
  border-right: 1px solid #8da0b2 !important;
  border-bottom: 1px solid #4f6579 !important;
  height: 34px !important;
  padding: 7px 10px !important;
  font-weight: 500 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .2) !important;
}

.akuntansi-akun-page .akun-grid-table thead tr:nth-child(2) th {
  top: 34px !important;
  background: #6f889d !important;
  z-index: 22 !important;
  height: 32px !important;
}

.akuntansi-akun-page .akun-grid-table tbody td {
  height: 41px !important;
  padding: 8px 10px !important;
  border-bottom: 1px solid #e9e9e9 !important;
  border-right: 1px dotted #d9d9d9 !important;
  color: #111 !important;
  background: inherit !important;
  white-space: nowrap !important;
}

.akuntansi-akun-page .akun-grid-table tbody tr:nth-child(even) {
  background: #f7f7f7 !important;
}

.akuntansi-akun-page .akun-grid-table tbody tr:nth-child(odd) {
  background: #fff !important;
}

.akuntansi-akun-page .akun-grid-table tbody tr:hover {
  background: #eef7ff !important;
}

.akuntansi-akun-page .akun-grid-table .akun-col-kode {
  width: 200px !important;
}

.akuntansi-akun-page .akun-grid-table .akun-col-tipe {
  width: 200px !important;
}

.akuntansi-akun-page .akun-grid-table .akun-col-money {
  width: 170px !important;
}

.akuntansi-akun-page .akun-grid-table .akun-col-aksi {
  width: 88px !important;
}

.akuntansi-akun-page .akun-grid-table td.akuntansi-indent-fix.akun-level-0 {
  padding-left: 10px !important;
  font-weight: 500 !important;
}

.akuntansi-akun-page .akun-grid-table td.akuntansi-indent-fix.akun-level-1 {
  padding-left: 30px !important;
  font-weight: 500 !important;
}

.akuntansi-akun-page .akun-grid-table td.akuntansi-indent-fix.akun-level-2 {
  padding-left: 50px !important;
  font-weight: 400 !important;
}

.akuntansi-akun-page .akun-grid-table td.akuntansi-indent-fix.akun-level-3 {
  padding-left: 70px !important;
  font-weight: 400 !important;
}

.akuntansi-akun-page .akun-grid-table tfoot {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 18 !important;
}

.akuntansi-akun-page .akun-grid-table tfoot th {
  background: #eef3f8 !important;
  color: #111 !important;
  font-weight: 700 !important;
  border-top: 1px solid #5f788f !important;
  border-right: 1px dotted #d9d9d9 !important;
  height: 36px !important;
  padding: 8px 10px !important;
}

.akuntansi-akun-page .akun-grid-table .btn {
  height: 28px !important;
  padding: 2px 8px !important;
  border-radius: 3px !important;
}

@media(max-width:900px) {
  .akuntansi-akun-page .accurate-search-wrap .form-control {
    width: 170px !important
  }

  .akuntansi-akun-page .akun-grid-table {
    min-width: 880px !important
  }

  .akuntansi-akun-page .toolbar-row-action {
    gap: 8px !important;
    align-items: flex-start !important
  }

  .akuntansi-akun-page .toolbar-right-actions {
    flex-wrap: wrap !important;
    justify-content: flex-end !important
  }
}

/* =========================================================
   GLOBAL ACCURATE-STYLE UI REFINEMENT
   Applied to every module that uses accurate-list / accurate-form classes.
   Goal: same clean tab shape, fixed table header, and only table body scrolls.
   ========================================================= */
.embed-body {
  overflow: hidden !important;
}

.embed-body .embed-content {
  /* height: 100vh !important; */
  /* max-height: 100vh !important; */
  /* overflow: hidden !important; */
}

.embed-body .accurate-list-page,
.embed-body .accurate-data-page {
  height: calc(100vh - 12px) !important;
  max-height: calc(100vh - 12px) !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: #efefef !important;
  padding: 0 !important;
}

.accurate-inner-tabs {
  flex: 0 0 42px !important;
  min-height: 42px !important;
  display: flex !important;
  align-items: flex-end !important;
  border-bottom: 1px solid #b7b7b7 !important;
  margin: 0 !important;
  background: #efefef !important;
  padding-left: 0 !important;
  overflow: visible !important;
}

.inner-list-tab {
  height: 41px !important;
  min-width: 58px !important;
  padding: 0 14px !important;
  background: #57bd31 !important;
  border: 1px solid #47a826 !important;
  border-bottom: 0 !important;
  border-radius: 4px 4px 0 0 !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35) !important;
  text-decoration: none !important;
}

.inner-list-tab i {
  font-size: 1.43rem !important;
  line-height: 1 !important;
}

.inner-data-tab {
  height: 39px !important;
  min-width: 122px !important;
  max-width: 230px !important;
  margin-left: 4px !important;
  padding: 0 10px 0 13px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  background: linear-gradient(#f4f4f4, #d5d5d5) !important;
  border: 1px solid #a9a9a9 !important;
  border-bottom: 0 !important;
  border-radius: 5px 5px 0 0 !important;
  color: #444 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7) !important;
}

.inner-data-tab.active {
  height: 41px !important;
  background: #fff !important;
  color: #222 !important;
  border-top: 2px solid #e82e64 !important;
  font-weight: 600 !important;
  position: relative !important;
  top: 1px !important;
  box-shadow: none !important;
}

.inner-data-tab span:first-child {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.inner-close {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: #333 !important;
  flex: 0 0 auto !important;
  line-height: 1 !important;
}

.accurate-list-toolbar {
  flex: 0 0 auto !important;
  background: #fff !important;
  border: 0px solid #c8c8c8 !important;
  border-top: 0 !important;
  padding: 0px 0px 10px !important;
  margin: 0 !important;
}

.toolbar-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin: 0 0 9px !important;
}

.toolbar-row:last-child {
  margin-bottom: 0 !important;
}

.toolbar-filter-row,
.toolbar-row-filter {
  justify-content: flex-start !important;
}

.toolbar-left-actions,
.toolbar-right-actions {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.accurate-filter-select,
.toolbar-select,
.accurate-code-select {
  height: 35px !important;
  min-width: auto !important;
  width: auto !important;
  border-radius: 4px !important;
  border-color: #bfc7cf !important;
  background-color: #fff !important;
  font-size: 14px !important;
}

.accurate-filter-btn,
.toolbar-square {
  width: 46px !important;
  height: 35px !important;
  border-radius: 4px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
}

.toolbar-plus {
  width: 60px !important;
  height: 35px !important;
  border-radius: 4px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
}

.accurate-list-search,
.accurate-search-wrap {
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  margin-left: 0px !important;
}

.accurate-list-search .form-control,
.accurate-search-wrap .form-control {
  width: 225px !important;
  height: 35px !important;
  border-radius: 4px !important;
  padding-right: 38px !important;
  border-color: #bfc7cf !important;
  font-size: 15px !important;
}

.accurate-list-search .btn,
.accurate-search-btn {
  position: absolute !important;
  right: 2px !important;
  top: 1px !important;
  bottom: 1px !important;
  border: 0 !important;
  background: transparent !important;
  color: #111 !important;
  padding: 0 11px !important;
  display: grid !important;
  place-items: center !important;
}

.toolbar-count {
  width: 70px !important;
  height: 35px !important;
  border-radius: 4px !important;
  text-align: right !important;
  background: #fff !important;
  border-color: #bfc7cf !important;
}

.accurate-grid-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: auto !important;
  background: #fff !important;
  border: 1px solid #d6d6d6 !important;
  border-top: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

.accurate-grid-table {
  width: 100% !important;
  min-width: 980px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff !important;
  font-size: 16px !important;
  line-height: 1.28 !important;
  margin: 0 !important;
}

.accurate-grid-table thead {
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
}

.accurate-grid-table thead th {
  position: sticky !important;
  top: 0 !important;
  /* z-index: 21 !important; */
  height: 34px !important;
  background: #60798f !important;
  color: #fff !important;
  border-right: 1px solid #8da0b2 !important;
  border-bottom: 1px solid #4f6579 !important;
  padding: 7px 10px !important;
  font-weight: 500 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .18) !important;
}

.accurate-grid-table thead tr:nth-child(2) th {
  top: 34px !important;
  z-index: 22 !important;
  height: 32px !important;
  background: #6f889d !important;
}

.accurate-grid-table tbody td {
  height: 40px !important;
  padding: 8px 10px !important;
  border-bottom: 1px solid #e9e9e9 !important;
  border-right: 1px dotted #d9d9d9 !important;
  color: #111 !important;
  background: inherit !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

.accurate-grid-table tbody tr:nth-child(even) {
  background: #f7f7f7 !important;
}

.accurate-grid-table tbody tr:nth-child(odd) {
  background: #fff !important;
}

.accurate-grid-table tbody tr:hover {
  background: #eef7ff !important;
}

.accurate-grid-table tfoot {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 18 !important;
}

.accurate-grid-table tfoot th,
.accurate-grid-table tfoot td {
  background: #eef3f8 !important;
  color: #111 !important;
  font-weight: 700 !important;
  border-top: 1px solid #60798f !important;
  border-right: 1px dotted #d9d9d9 !important;
  min-height: 36px !important;
  padding: 8px 10px !important;
  white-space: nowrap !important;
}

.accurate-grid-table .btn {
  border-radius: 3px !important;
  min-height: 28px !important;
  padding: 2px 8px !important;
}

.grid-sort-cell {
  width: 32px !important;
  text-align: center !important;
  color: #d8e0e8 !important;
}

.grid-action-col {
  width: 90px !important;
}

.entry-tabs,
.akun-entry-tabs {
  height: 35px !important;
  min-height: 35px !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 3px !important;
  background: #e9e9e9 !important;
  border-bottom: 1px solid #b8b8b8 !important;
  padding-left: 0 !important;
  overflow: visible !important;
}

.entry-tab,
.akun-entry-tabs .entry-tab {
  height: 33px !important;
  border: 1px solid #9b9b9b !important;
  border-bottom: 0 !important;
  border-radius: 4px 4px 0 0 !important;
  background: linear-gradient(#d8d8d8, #c3c3c3) !important;
  padding: 0 13px !important;
  color: #454545 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

.entry-tab.active,
.akun-entry-tabs .entry-tab.active {
  background: #fff !important;
  color: #1f2937 !important;
  border-top: 2px solid #e62e65 !important;
  font-weight: 600 !important;
  position: relative !important;
  top: 1px !important;
}

.accurate-entry-form,
.akun-entry-card {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  background: #fff !important;
  border: 1px solid #bdbdbd !important;
  border-radius: 5px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .16) !important;
}

.accurate-inline-form {
  overflow: auto !important;
}

.classic-field .form-control,
.classic-field .form-select,
.akun-control,
.form-control,
.form-select {
  border-radius: 4px !important;
  border-color: #c9c9c9 !important;
}

@media(max-width:900px) {
  .embed-body {
    overflow: auto !important;
  }

  .embed-body .embed-content {
    height: auto !important;
    max-height: none !important;
    overflow: auto !important;
  }

  .embed-body .accurate-list-page,
  .embed-body .accurate-data-page {
    height: auto !important;
    max-height: none !important;
    min-height: 100vh !important;
    overflow: visible !important;
  }

  .accurate-inner-tabs {
    overflow: auto !important;
  }

  .accurate-list-search,
  .accurate-search-wrap {
    margin-left: 0 !important;
  }

  .accurate-list-search .form-control,
  .accurate-search-wrap .form-control {
    width: 180px !important;
  }

  .accurate-grid-wrap {
    max-height: 60vh !important;
  }

  .accurate-grid-table {
    min-width: 850px !important;
  }
}

/* =========================================================
   GLOBAL TABLE SCROLL FINAL
   Every table in embed/workspace is normalized to Accurate grid style.
   Only table content scrolls; table header/footer remain sticky.
   ========================================================= */
.embed-body .accurate-grid-wrap,
.embed-body .auto-grid-wrap {
  flex: 1 1 auto !important;
  min-height: 180px !important;
  overflow: auto !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  background: #fff !important;
  border: 1px solid #d6d6d6 !important;
  border-top: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  position: relative !important;
  scrollbar-width: thin;
}

.embed-body .accurate-entry-form {
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
}

.embed-body .entry-panel {
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 10px 12px !important;
}

.embed-body .entry-panel.active {
  display: flex !important;
  flex-direction: column !important;
}

.embed-body .entry-panel.active>.accurate-grid-wrap,
.embed-body .entry-panel.active>.auto-grid-wrap {
  flex: 1 1 auto !important;
  min-height: 160px !important;
}

.embed-body .entry-panel .entry-section-title,
.embed-body .entry-panel h3,
.embed-body .entry-panel form,
.embed-body .entry-panel .alert,
.embed-body .entry-panel .mb-2,
.embed-body .entry-panel .mb-3,
.embed-body .entry-panel .accurate-dashboard-strip {
  flex: 0 0 auto !important;
}

.embed-body table.accurate-grid-table,
.embed-body .auto-grid-wrap table {
  width: 100% !important;
  min-width: 980px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff !important;
  font-size: 16px !important;
  line-height: 1.28 !important;
  margin: 0 !important;
}

.embed-body table.accurate-grid-table thead,
.embed-body .auto-grid-wrap table thead {
  position: sticky !important;
  top: 0 !important;
  z-index: 30 !important;
}

.embed-body table.accurate-grid-table thead th,
.embed-body .auto-grid-wrap table thead th {
  position: sticky !important;
  top: 0px !important;
  /* z-index: 10 !important; */
  background: #60798f !important;
  color: #fff !important;
  border-right: 1px solid #8da0b2 !important;
  border-bottom: 1px solid #4f6579 !important;
  height: 34px !important;
  padding: 7px 10px !important;
  font-weight: 500 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .18) !important;
}

.embed-body table.accurate-grid-table thead tr:nth-child(2) th,
.embed-body .auto-grid-wrap table thead tr:nth-child(2) th {
  top: 34px !important;
  z-index: 12 !important;
  height: 32px !important;
  background: #6f889d !important;
}

.embed-body table.accurate-grid-table tbody td,
.embed-body .auto-grid-wrap table tbody td {
  height: 40px !important;
  padding: 8px 10px !important;
  border-bottom: 1px solid #e9e9e9 !important;
  border-right: 1px dotted #d9d9d9 !important;
  color: #111 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

.embed-body table.accurate-grid-table tbody tr:nth-child(even),
.embed-body .auto-grid-wrap table tbody tr:nth-child(even) {
  background: #f7f7f7 !important;
}

.embed-body table.accurate-grid-table tbody tr:nth-child(odd),
.embed-body .auto-grid-wrap table tbody tr:nth-child(odd) {
  background: #fff !important;
}

.embed-body table.accurate-grid-table tbody tr:hover,
.embed-body .auto-grid-wrap table tbody tr:hover {
  background: #eef7ff !important;
}

.embed-body table.accurate-grid-table tfoot,
.embed-body .auto-grid-wrap table tfoot {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 28 !important;
}

.embed-body table.accurate-grid-table tfoot th,
.embed-body table.accurate-grid-table tfoot td,
.embed-body .auto-grid-wrap table tfoot th,
.embed-body .auto-grid-wrap table tfoot td {
  background: #eef3f8 !important;
  color: #111 !important;
  font-weight: 700 !important;
  border-top: 1px solid #60798f !important;
  border-right: 1px dotted #d9d9d9 !important;
  min-height: 36px !important;
  padding: 8px 10px !important;
  white-space: nowrap !important;
}

.embed-body .table-responsive {
  overflow: visible !important;
}

@media(max-width:900px) {

  .embed-body .accurate-grid-wrap,
  .embed-body .auto-grid-wrap {
    max-height: 60vh !important;
    scrollbar-width: thin;
  }

  .embed-body table.accurate-grid-table,
  .embed-body .auto-grid-wrap table {
    min-width: 850px !important;
  }
}

/* =========================================================
   FINAL DETAIL FORM STYLE - Accurate-like clean workspace
   Applied to all data-entry pages and specialized account form.
   ========================================================= */
.embed-body {
  color: #111 !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.embed-body {
  padding: 8px !important;
  min-height: 100vh !important;
}

.embed-content {
  background: #efefef !important;
  min-height: 100vh !important;
}

.embed-body .accurate-list-page,
.embed-body .accurate-data-page,
.embed-body .accurate-list-workspace {
  background: #efefef !important;
  padding: 0 0 10px !important;
  min-height: 100vh !important;
}

/* inner list/data tabs */
.embed-body .accurate-inner-tabs {
  margin: 0 !important;
  padding: 0 0 0 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 0 !important;
  background: #fff !important;
  border-bottom: 1px solid #b5b5b5 !important;
  overflow: visible !important;
}

.embed-body .inner-list-tab {
  width: 58px !important;
  min-width: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #49a82a !important;
  border-left: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  background: #5abf32 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .38) !important;
  color: #fff !important;
}

.embed-body .inner-list-tab i {
  font-size: 23px !important;
  line-height: 1 !important;
}

.embed-body .inner-data-tab {
  height: 41px !important;
  min-width: 125px !important;
  max-width: 230px !important;
  margin: 0 0 0 4px !important;
  padding: 0 9px 0 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  border: 1px solid #b8b8b8 !important;
  border-bottom: 0 !important;
  border-radius: 4px 4px 0 0 !important;
  background: linear-gradient(#f7f7f7, #d7d7d7) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75) !important;
  color: #333 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

.embed-body .inner-data-tab.active {
  height: 43px !important;
  position: relative !important;
  top: 1px !important;
  background: #fff !important;
  border-top: 2px solid #e62e65 !important;
  color: #222 !important;
  font-weight: 500 !important;
}

.embed-body .inner-data-tab span:first-child {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.embed-body .inner-data-tab.is-dirty span:first-child:before,
.embed-body .accurate-entry-form.is-dirty~.inner-data-tab span:first-child:before {
  content: '*';
}

.embed-body .inner-close {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #333 !important;
  opacity: 1 !important;
}

/* entry form surface */
.embed-body .accurate-entry-form {
  position: relative !important;
  margin: 0 0 0 0 !important;
  padding: 0 118px 0px 0 !important;
  min-height: 455px !important;
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.embed-body .accurate-inline-form {
  padding-right: 0 !important;
  background: #fff !important;
  min-height: auto !important;
}

.embed-body .entry-tabs,
.embed-body .akun-entry-tabs {
  /* height: 38px !important;
  min-height: 38px !important; */
  margin: 0 !important;
  padding: 0 0 0 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 3px !important;
  background: #fff !important;
  border-bottom: 0px solid #b9b9b9 !important;
  overflow: visible !important;
}

.embed-body .entry-tab,
.embed-body .akun-entry-tabs .entry-tab {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  border: 1px solid #bebebe !important;
  border-bottom: 0 !important;
  border-radius: 3px 3px 0 0 !important;
  background: linear-gradient(#d7d7d7, #c2c2c2) !important;
  color: #555 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 32px !important;
  white-space: nowrap !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65) !important;
}

.embed-body .entry-tab.active,
.embed-body .akun-entry-tabs .entry-tab.active {
  height: 34px !important;
  position: relative !important;
  top: 1px !important;
  background: #fff !important;
  color: #111 !important;
  font-weight: 600 !important;
  border-top: 2px solid #e62e65 !important;
  border-bottom: 1px solid #fff !important;
  line-height: 31px !important;
  z-index: 2 !important;
}

.embed-body .entry-panel {
  display: none !important;
  /* padding: 12px 10px 24px !important; */
  padding: 10px !important;
}

.embed-body .entry-panel.active {
  display: block !important;
}

/* Account form card + global form cards */
.embed-body .akun-entry-card,
.embed-body .accurate-entry-form:not(.accurate-inline-form)>.entry-panel {
  background: #fff !important;
  border: 1px solid #bfbfbf !important;
  border-radius: 0 0 5px 5px !important;
  box-shadow: 0 2px 9px rgba(0, 0, 0, .16) !important;
  min-height: 430px !important;
}

.embed-body .akun-entry-card {
  margin: 0 110px 0 0 !important;
  padding: 10px 10px 20px !important;
}

.embed-body .accurate-entry-form:not(.accurate-inline-form)>.entry-panel {
  margin: 0 8px 0 0 !important;
}

.embed-body .accurate-entry-form:not(.accurate-inline-form)>.entry-panel:not(.active) {
  display: none !important;
}

/* right action rail */
.embed-body .entry-form-toolbar,
.embed-body .akun-side-toolbar {
  position: absolute !important;
  right: 18px !important;
  top: 40px !important;
  width: 82px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 22px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  z-index: 5 !important;
}

.embed-body .akun-side-toolbar {
  right: 20px !important;
  top: 81px !important;
}

.embed-body .side-action,
.embed-body .akun-side-toolbar .side-action {
  width: 82px !important;
  height: 56px !important;
  border-radius: 5px !important;
  border: 1px solid #c7c7c7 !important;
  background: #e1e1e1 !important;
  color: #999 !important;
  display: grid !important;
  place-items: center !important;
  font-size: 31px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .20) !important;
}

.embed-body .side-action.save,
.embed-body .akun-side-toolbar .side-action.save {
  background: #e1e1e1 !important;
  color: #999 !important;
  border-color: #c7c7c7 !important;
}

.embed-body .accurate-entry-form.is-dirty .side-action.save,
.embed-body .akun-entry-form.is-dirty .akun-side-toolbar .side-action.save,
.embed-body .side-action.save.is-active {
  background: #0873c9 !important;
  color: #fff !important;
  border-color: #075fa8 !important;
}

/* classic form fields */
.embed-body .classic-field,
.embed-body .akun-classic-field {
  display: grid !important;
  /* grid-template-columns: 200px 300px !important; */
  /* align-items: center !important; */
  gap: 10px !important;
  margin: 0 0 10px !important;
}

.embed-body .classic-field label,
.embed-body .akun-classic-field>label {
  margin: 0 !important;
  padding: 0 !important;
  color: #111 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
}

.embed-body .classic-field.required label:after {
  content: '' !important;
}

.embed-body .classic-field.required label::after {
  content: ' *' !important;
  color: #e62b2b !important;
}

.embed-body .akun-classic-field.required>label span,
.embed-body .akun-classic-field>label span {
  color: #e62b2b !important;
}

.embed-body .classic-field .form-control,
.embed-body .classic-field .form-select,
.embed-body .akun-control,
.embed-body .form-control,
.embed-body .form-select {
  min-height: 34px !important;
  /* height: 34px !important; */
  border: 1px solid #c8c8c8 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 16px !important;
  padding: 5px 9px !important;
}

.embed-body textarea.form-control,
.embed-body textarea.akun-control {
  height: auto !important;
  /* min-height: 70px !important; */
  resize: vertical !important;
}

.embed-body .form-control:focus,
.embed-body .form-select:focus,
.embed-body .akun-control:focus {
  border-color: #6cb5e9 !important;
  box-shadow: 0 0 7px rgba(0, 120, 215, .35) !important;
}

.embed-body .form-check-input {
  width: 20px !important;
  height: 20px !important;
  margin-top: 0 !important;
  border-radius: 3px !important;
  border: 1px solid #b9b9b9 !important;
}

.embed-body .form-check-input:checked {
  background-color: #4d8dc4 !important;
  border-color: #4d8dc4 !important;
}

.embed-body .form-check-label {
  font-size: 16px !important;
  color: #111 !important;
}

.embed-body .input-group-text {
  height: 34px !important;
  border: 1px solid #c8c8c8 !important;
  background: #f2f2f2 !important;
  color: #777 !important;
  border-radius: 4px 0 0 4px !important;
}

/* Account form fine tuning */
.embed-body .akun-form-accurate-page {
  background: #efefef !important;
  padding: 0 0 8px !important;
}

.embed-body .akun-entry-form {
  margin: 0 !important;
  padding-right: 118px !important;
}

.embed-body .akun-select,
.embed-body .akun-parent-select,
.embed-body .akun-search-select-wrap {
  width: 278px !important;
}

.embed-body .akun-form-check {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 34px !important;
}

.embed-body .parent-account-row {
  margin-top: -2px !important;
}

.embed-body .auto-code-row {
  grid-template-columns: 185px minmax(420px, 1fr) !important;
}

.embed-body .auto-code-row .akun-form-check {
  min-width: 420px !important;
}

.embed-body .akun-example-row {
  margin-top: 18px !important;
  align-items: start !important;
}

.embed-body .akun-example-text {
  font-style: italic !important;
  color: #777 !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
}

.embed-body .akun-panel-title {
  margin: 4px 0 20px !important;
  color: #25323b !important;
  font-weight: 400 !important;
  font-size: 24px !important;
}

.embed-body .saldo-field {
  grid-template-columns: 140px 273px !important;
  margin-left: 2px !important;
}

.embed-body .saldo-field>label {
  text-align: right !important;
  padding-right: 12px !important;
}

.embed-body .akun-money-group,
.embed-body .akun-date {
  width: 273px !important;
}

.embed-body .akun-money-group .form-control {
  border-left: 0 !important;
  border-radius: 0 4px 4px 0 !important;
}

.embed-body .akun-note-field {
  grid-template-columns: 185px 372px !important;
  align-items: start !important;
}

.embed-body .akun-note-field>label {
  padding-top: 7px !important;
}

.embed-body .akun-textarea {
  width: 372px !important;
  height: 70px !important;
}

.embed-body .akun-access-title {
  border-bottom: 1px solid #d9d9d9 !important;
  padding-bottom: 6px !important;
  margin-top: 32px !important;
  margin-bottom: 8px !important;
}

.embed-body .akun-access-line {
  padding-left: 20px !important;
}

@media(max-width:900px) {

  .embed-body .accurate-entry-form,
  .embed-body .akun-entry-form {
    padding-right: 0 !important;
  }

  .embed-body .akun-entry-card {
    margin-right: 0 !important;
  }

  .embed-body .entry-form-toolbar,
  .embed-body .akun-side-toolbar {
    position: static !important;
    width: auto !important;
    flex-direction: row !important;
    padding: 12px 0 !important;
  }

  .embed-body .classic-field,
  .embed-body .akun-classic-field,
  .embed-body .saldo-field,
  .embed-body .akun-note-field {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  .embed-body .saldo-field>label {
    text-align: left !important;
    padding-right: 0 !important;
  }

  .embed-body .akun-select,
  .embed-body .akun-parent-select,
  .embed-body .akun-search-select-wrap,
  .embed-body .akun-money-group,
  .embed-body .akun-date,
  .embed-body .akun-textarea {
    width: 100% !important;
  }
}

/* =========================================================
   FORM PANEL FULL-WIDTH FINAL FIX
   Menyamakan lebar kotak putih form dengan garis tab atas.
   Problem sebelumnya: beberapa form (terutama akun) memiliki padding-right
   pada form + margin-right pada card, sehingga kotak putih terlihat pendek.
   ========================================================= */
.embed-body .accurate-entry-form:not(.accurate-inline-form),
.embed-body .akun-entry-form {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
}

.embed-body .accurate-entry-form:not(.accurate-inline-form) {
  padding-right: 118px !important;
  /* area khusus tombol simpan kanan */
}

.embed-body .akun-entry-form {
  padding-right: 118px !important;
  /* area khusus tombol simpan kanan */
}

.embed-body .akun-entry-card,
.embed-body .accurate-entry-form:not(.accurate-inline-form)>.entry-panel {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  height: 100% !important;

}

.embed-body .entry-tabs,
.embed-body .akun-entry-tabs {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.embed-body .entry-panel.active,
.embed-body .akun-entry-card .entry-panel.active {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.embed-body .entry-form-toolbar,
.embed-body .akun-side-toolbar {
  right: 18px !important;
}

.embed-body .akun-side-toolbar {
  right: 20px !important;
}

@media(max-width:900px) {

  .embed-body .accurate-entry-form:not(.accurate-inline-form),
  .embed-body .akun-entry-form {
    padding-right: 0 !important;
  }

  .embed-body .akun-entry-card,
  .embed-body .accurate-entry-form:not(.accurate-inline-form)>.entry-panel {
    margin-right: 0 !important;
    width: 100% !important;
  }
}

/* Global save button standardization: every save/submit action in Accurate-style forms uses the same right-side floppy button. */
.embed-body .accurate-inline-save-hidden,
.accurate-inline-save-hidden {
  display: none !important;
}

.embed-body .accurate-entry-form.has-generated-save,
.accurate-entry-form.has-generated-save {
  position: relative !important;
  padding-right: 110px !important;
}

.embed-body .accurate-entry-form .entry-form-toolbar.generated-save-toolbar,
.accurate-entry-form .entry-form-toolbar.generated-save-toolbar {
  position: absolute !important;
  right: 18px !important;
  top: 50px !important;
  width: 82px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 22px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  z-index: 7 !important;
}

.embed-body .entry-form-toolbar .side-action.save,
.entry-form-toolbar .side-action.save,
.embed-body .generated-save-toolbar .side-action.save,
.generated-save-toolbar .side-action.save {
  width: 82px !important;
  height: 56px !important;
  border-radius: 5px !important;
  border: 1px solid #c7c7c7 !important;
  background: #e1e1e1 !important;
  color: #999 !important;
  display: grid !important;
  place-items: center !important;
  font-size: 31px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .20) !important;
}

.embed-body .accurate-entry-form.is-dirty .entry-form-toolbar .side-action.save,
.embed-body .accurate-entry-form.is-dirty .generated-save-toolbar .side-action.save,
.accurate-entry-form.is-dirty .entry-form-toolbar .side-action.save,
.accurate-entry-form.is-dirty .generated-save-toolbar .side-action.save,
.embed-body .side-action.save.is-active,
.side-action.save.is-active {
  background: #0873c9 !important;
  color: #fff !important;
  border-color: #075fa8 !important;
}

@media(max-width:900px) {

  .embed-body .accurate-entry-form.has-generated-save,
  .accurate-entry-form.has-generated-save {
    padding-right: 0 !important;
  }

  .embed-body .accurate-entry-form .entry-form-toolbar.generated-save-toolbar,
  .accurate-entry-form .entry-form-toolbar.generated-save-toolbar {
    position: static !important;
    width: auto !important;
    flex-direction: row !important;
    padding: 12px !important;
  }
}

/* Modul Transaksi Bulanan */
.transaksi-bulanan-page .transaksi-bulanan-grid {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  background: #fff !important;
}

.transaksi-bulanan-page .transaksi-bulanan-table {
  min-width: 1500px !important;
}

.transaksi-bulanan-page .transaksi-bulanan-table thead th {
  text-align: center !important;
  vertical-align: middle !important;
}

.transaksi-bulanan-page .transaksi-bulanan-table input.form-control {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-width: 92px !important;
  padding: 5px 7px !important;
}

.transaksi-bulanan-page .transaksi-bulanan-table input.form-control:focus {
  background: #fffbe6 !important;
  box-shadow: inset 0 0 0 1px #0d6efd !important;
}

.transaksi-bulanan-page .monthly-input {
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
}

.mini-stat {
  background: #fff;
  border: 1px solid #d4d4d4;
  border-radius: 7px;
  padding: 10px 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .04)
}

.mini-stat small {
  display: block;
  color: #6b7280;
  font-size: 12px
}

.mini-stat b {
  display: block;
  font-size: 16px;
  color: #111827;
  margin-top: 2px
}

.accurate-table-form {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  position: relative !important;
}

.tab-colom {
  height: calc(100vh - 12px) !important;
  max-height: calc(100vh - 12px) !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: #fff !important;
  padding: 8px !important;
  border: 1px solid #ccd0c9;
  border-top: 0;
}

/* =========================================================
   TRANSAKSI BULANAN - Accurate-style final UI
   ========================================================= */
.tb-ui-page {
  background: #efefef !important;
  height: calc(100vh - 12px) !important;
  max-height: calc(100vh - 12px) !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.tb-ui-page .tb-inner-tabs {
  flex: 0 0 42px !important;
  margin: 0 !important;
  padding-left: 0 !important;
  background: #efefef !important;
  border-bottom: 1px solid #b7b7b7 !important;
}

.tb-ui-page .inner-data-tab span:first-child {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.tb-flash {
  flex: 0 0 auto !important;
  margin: 8px 0 0 !important;
  border-radius: 3px !important;
  padding: 7px 10px !important;
}

.tb-summary-strip {
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(135px, 1fr)) !important;
  gap: 8px !important;
  padding: 0 0 8px 0 !important;
}

.tb-summary-strip-3 {
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(135px, 1fr)) !important;
  gap: 8px !important;
}

.tb-summary-strip-4 {
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(135px, 1fr)) !important;
  gap: 8px !important;
  padding: 8px 0 !important;
}

.tb-summary-card {
  background: #fff !important;
  border: 1px solid #c8c8c8 !important;
  border-radius: 4px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .08) !important;
  padding: 8px 11px !important;
  min-height: 55px !important;
}

.tb-summary-card span {
  display: block !important;
  color: #6b7280 !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  margin-bottom: 4px !important;
}

.tb-summary-card strong {
  display: block !important;
  color: #111 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-variant-numeric: tabular-nums !important;
}

.tb-toolbar {
  flex: 0 0 auto !important;
  background: #fff !important;
  border: 0px solid #c9c9c9 !important;
  border-top: 0 !important;
  padding: 8px 0 !important;
  margin: 0 !important;
}

.tb-toolbar .tb-filter-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0px !important;
  margin: 0 !important;
  flex-wrap: wrap !important;
}

.tb-toolbar .tb-action-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.tb-toolbar .toolbar-select,
.tb-toolbar .toolbar-year {
  height: 35px !important;
  border: 1px solid #b8c1c9 !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #1f2933 !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

.tb-toolbar .toolbar-square {
  width: 46px !important;
  height: 34px !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #0a5d93 !important;
  border: 1px solid #0a74ad !important;
  box-shadow: none !important;
}

.tb-toolbar .toolbar-plus {
  width: 60px !important;
  height: 34px !important;
  border-radius: 4px !important;
  background: #0e4f9d !important;
  border-color: #0e4f9d !important;
  color: #fff !important;
  font-size: 1.15rem !important;
  box-shadow: none !important;
}

.tb-toolbar .toolbar-count {
  height: 35px !important;
  width: 70px !important;
  border: 1px solid #b8c1c9 !important;
  border-radius: 4px !important;
  background: #fff !important;
  text-align: right !important;
}

.tb-status-badge {
  height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 10px !important;
}

.tb-table-form {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  overflow: hidden !important;
}

.tb-grid-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: auto !important;
  border: 1px solid #d4d4d4 !important;
  border-top: 0 !important;
  background: #fff !important;
  margin: 0 !important;
  box-shadow: none !important;
}

.tb-grid-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  min-width: 1180px !important;
  font-size: 14px !important;
  background: #fff !important;
}

.tb-grid-table thead {
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
}

.tb-grid-table thead th {
  position: sticky !important;
  top: 0 !important;
  /* z-index: 21 !important; */
  background: #5f788f !important;
  color: #fff !important;
  border-right: 1px solid #8da0b2 !important;
  border-bottom: 1px solid #4f6579 !important;
  height: 34px !important;
  padding: 7px 9px !important;
  font-weight: 500 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .2) !important;
}

.tb-grid-table thead tr:nth-child(2) th {
  top: 34px !important;
  background: #6f889d !important;
  z-index: 22 !important;
  height: 32px !important;
}

.tb-grid-table tbody td {
  height: 38px !important;
  padding: 5px 8px !important;
  border-bottom: 1px solid #e9e9e9 !important;
  border-right: 1px dotted #d9d9d9 !important;
  color: #111 !important;
  background: inherit !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

.tb-grid-table tbody tr:nth-child(even) {
  background: #f7f7f7 !important;
}

.tb-grid-table tbody tr:nth-child(odd) {
  background: #fff !important;
}

.tb-grid-table tbody tr:hover {
  background: #eef7ff !important;
}

.tb-grid-table tfoot {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 18 !important;
}

.tb-grid-table tfoot th {
  background: #eef3f8 !important;
  color: #111 !important;
  font-weight: 700 !important;
  border-top: 1px solid #5f788f !important;
  border-right: 1px dotted #d9d9d9 !important;
  height: 36px !important;
  padding: 8px 9px !important;
  white-space: nowrap !important;
}

.tb-grid-table .tb-col-no {
  width: 48px !important;
  min-width: 48px !important;
}

.tb-grid-table .tb-col-name {
  width: 250px !important;
  min-width: 250px !important;
}

.tb-grid-table .tb-col-money {
  width: 105px !important;
  min-width: 105px !important;
}

.tb-grid-table .tb-col-note {
  width: 170px !important;
  min-width: 170px !important;
}

.tb-grid-table .tb-row-no,
.tb-grid-table .tb-name-cell {
  position: sticky !important;
  z-index: 9 !important;
  background: inherit !important;
}

.tb-grid-table .tb-row-no {
  left: 0 !important;
}

.tb-grid-table .tb-name-cell {
  left: 48px !important;
  box-shadow: 1px 0 0 #d9d9d9 !important;
}

.tb-grid-table thead .tb-col-no {
  left: 0 !important;
  z-index: 30 !important;
}

.tb-grid-table thead .tb-col-name {
  left: 48px !important;
  z-index: 30 !important;
}

.tb-grid-table .tb-money-cell {
  padding: 0 !important;
}

.tb-grid-table input.form-control {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-width: 95px !important;
  height: 34px !important;
  padding: 5px 7px !important;
  font-size: 13px !important;
}

.tb-grid-table input.form-control:focus {
  background: #fffbe6 !important;
  box-shadow: inset 0 0 0 1px #0d6efd !important;
  outline: 0 !important;
}

.tb-grid-table .monthly-input {
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
}

.tb-note-cell input.form-control {
  min-width: 160px !important;
}

.tb-form-panel {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding-right: 96px !important;
  border: 1px solid #bdbdbd !important;
  border-top: 0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .12) !important;
  background: #fff !important;
  overflow: hidden !important;
  position: relative !important;
}

.tb-form-body {
  flex: 1 1 auto !important;
  overflow: auto !important;
}

.tb-small-grid {
  max-height: 360px !important;
  min-height: 180px !important;
}

.tb-import-page .accurate-form-tabs {
  flex: 0 0 auto !important;
}

.tb-log-grid .tb-grid-table {
  min-width: 820px !important;
}

.tb-rekon-grid .tb-grid-table {
  min-width: 1360px !important;
}

@media(max-width:1100px) {
  .tb-summary-strip {
    grid-template-columns: repeat(2, minmax(135px, 1fr)) !important;
  }

  .tb-toolbar .tb-action-row {
    align-items: flex-start !important;
    flex-wrap: wrap !important;
  }

  .tb-form-panel {
    padding-right: 0 !important;
  }
}

@media print {
  .tb-ui-page {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background: #fff !important;
  }

  .tb-grid-wrap {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    border: 1px solid #999 !important;
  }

  .tb-grid-table thead,
  .tb-grid-table thead th,
  .tb-grid-table tfoot {
    position: static !important;
  }

  .tb-grid-table .tb-row-no,
  .tb-grid-table .tb-name-cell {
    position: static !important;
  }
}

/* Transaksi Bulanan refinements: save/search/top-tabs/format rupiah */
.tb-fixed-inner-tabs .inner-data-tab {
  max-width: none !important;
  min-width: 126px !important;
  justify-content: center !important;
}

.tb-fixed-inner-tabs .inner-data-tab span:first-child {
  overflow: visible !important;
  text-overflow: clip !important;
}

.tb-fixed-inner-tabs .inner-close {
  display: none !important;
}

.tb-right-actions {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.tb-search-box {
  width: 230px !important;
  min-width: 190px !important;
}

.tb-search-box .form-control {
  height: 35px !important;
  border: 1px solid #b8c1c9 !important;
  /* border-right: 0 !important; */
  border-radius: 4px 0 0 4px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.tb-search-box .input-group-text {
  height: 35px !important;
  border: 1px solid #b8c1c9 !important;
  border-left: 0 !important;
  border-radius: 0 4px 4px 0 !important;
  background: #fff !important;
  color: #111 !important;
}

.tb-save-top {
  background: #0d6efd !important;
  border-color: #0d6efd !important;
  color: #fff !important;
  box-shadow: none !important;
}

.tb-save-top:hover {
  background: #0b5ed7 !important;
  border-color: #0a58ca !important;
  color: #fff !important;
}

.tb-grid-table .rupiah-input {
  min-width: 112px !important;
  font-size: 12.5px !important;
}

.tb-grid-table tfoot th {
  font-size: 13px !important;
}

.tb-grid-table tbody tr.tb-hidden-by-search {
  display: none !important;
}

@media(max-width:900px) {
  .tb-search-box {
    width: 160px !important;
    min-width: 140px !important
  }

  .tb-fixed-inner-tabs {
    overflow: auto !important
  }

  .tb-fixed-inner-tabs .inner-data-tab {
    min-width: 112px !important
  }
}

/* Final fix: Import Bulanan detail tabs and side upload button like Accurate entry form */
.embed-body .tb-import-page .tb-form-panel {
  border: 0 !important;
  border-top: 0 !important;
  box-shadow: none !important;
  background: #efefef !important;
  padding: 0 118px 22px 0 !important;
  margin: 0 !important;
  min-height: 510px !important;
  position: relative !important;
  overflow: visible !important;
}

.embed-body .tb-import-page .accurate-form-tabs {
  height: 35px !important;
  min-height: 35px !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 3px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #b8b8b8 !important;
  background: #efefef !important;
  box-shadow: none !important;
}

.embed-body .tb-import-page .accurate-form-tabs button {
  height: 32px !important;
  min-width: auto !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #9b9b9b !important;
  border-bottom: 0 !important;
  border-radius: 4px 4px 0 0 !important;
  background: linear-gradient(#d6d6d6, #bebebe) !important;
  color: #444 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65) !important;
}

.embed-body .tb-import-page .accurate-form-tabs button.active {
  height: 34px !important;
  position: relative !important;
  top: 1px !important;
  background: #fff !important;
  color: #111 !important;
  font-weight: 700 !important;
  border-top: 2px solid #e62e65 !important;
  box-shadow: none !important;
}

.embed-body .tb-import-page .tb-form-body {
  background: #fff !important;
  border: 1px solid #bdbdbd !important;
  border-top: 0 !important;
  border-radius: 0 4px 4px 4px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .16) !important;
  min-height: 480px !important;
  padding: 26px 62px 22px 10px !important;
  overflow: auto !important;
}

.embed-body .tb-import-page .entry-panel .entry-section-title {
  margin: 0 0 18px !important;
  padding: 0 0 7px !important;
  border-bottom: 1px solid #d5d5d5 !important;
  color: #1670a8 !important;
  font-size: 24px !important;
  font-weight: 400 !important;
}

.embed-body .tb-import-page .accurate-save-float {
  position: absolute !important;
  right: 28px !important;
  top: 126px !important;
  width: 82px !important;
  height: 56px !important;
  border-radius: 5px !important;
  border: 1px solid #075ba2 !important;
  background: #0571c9 !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  font-size: 30px !important;
  line-height: 1 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .22) !important;
  padding: 0 !important;
  z-index: 5 !important;
}

.embed-body .tb-import-page .accurate-save-float:hover {
  filter: brightness(1.05) !important;
}

.embed-body .tb-import-page .accurate-save-float:disabled,
.embed-body .tb-import-page .accurate-save-float.is-disabled {
  background: #e0e0e0 !important;
  border-color: #c7c7c7 !important;
  color: #999 !important;
}

@media(max-width:900px) {
  .embed-body .tb-import-page .tb-form-panel {
    padding-right: 0 !important;
  }

  .embed-body .tb-import-page .accurate-save-float {
    position: static !important;
    margin: 12px 0 0 auto !important;
  }

  .embed-body .tb-import-page .tb-form-body {
    padding-right: 10px !important;
    min-height: 360px !important;
  }

  .embed-body .tb-import-page .accurate-form-tabs {
    overflow: auto !important;
  }

  .embed-body .tb-import-page .accurate-form-tabs button {
    white-space: nowrap !important;
  }
}

/* Transaksi Bulanan final: sticky No/Nama while horizontal scrolling + full Catatan */
.transaksi-bulanan-page .tb-grid-wrap {
  position: relative !important;
  overflow: auto !important;
}

.transaksi-bulanan-page .tb-grid-table {
  min-width: 1680px !important;
  table-layout: fixed !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-col-no,
.transaksi-bulanan-page .tb-grid-table .tb-row-no {
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-col-name,
.transaksi-bulanan-page .tb-grid-table .tb-name-cell {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
}

.transaksi-bulanan-page .tb-grid-table thead .tb-col-no,
.transaksi-bulanan-page .tb-grid-table tbody .tb-row-no {
  position: sticky !important;
  left: 0 !important;
  z-index: 60 !important;
  background: #fff !important;
  background-clip: padding-box !important;
  box-shadow: 1px 0 0 #c9d1d8 !important;
}

.transaksi-bulanan-page .tb-grid-table thead .tb-col-name,
.transaksi-bulanan-page .tb-grid-table tbody .tb-name-cell {
  position: sticky !important;
  left: 52px !important;
  z-index: 60 !important;
  background: #fff !important;
  background-clip: padding-box !important;
  box-shadow: 2px 0 0 #c9d1d8 !important;
}

.transaksi-bulanan-page .tb-grid-table thead .tb-col-no,
.transaksi-bulanan-page .tb-grid-table thead .tb-col-name {
  z-index: 90 !important;
  background: #5f788f !important;
  color: #fff !important;
}

.transaksi-bulanan-page .tb-grid-table tbody tr:nth-child(even) .tb-row-no,
.transaksi-bulanan-page .tb-grid-table tbody tr:nth-child(even) .tb-name-cell {
  background: #f7f7f7 !important;
}

.transaksi-bulanan-page .tb-grid-table tbody tr:nth-child(odd) .tb-row-no,
.transaksi-bulanan-page .tb-grid-table tbody tr:nth-child(odd) .tb-name-cell {
  background: #fff !important;
}

.transaksi-bulanan-page .tb-grid-table tbody tr:hover .tb-row-no,
.transaksi-bulanan-page .tb-grid-table tbody tr:hover .tb-name-cell {
  background: #eef7ff !important;
}

.transaksi-bulanan-page .tb-grid-table tfoot th:first-child {
  position: sticky !important;
  left: 0 !important;
  z-index: 70 !important;
  width: 312px !important;
  min-width: 312px !important;
  background: #eef3f8 !important;
  box-shadow: 2px 0 0 #c9d1d8 !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-col-note,
.transaksi-bulanan-page .tb-grid-table .tb-note-cell {
  width: 360px !important;
  min-width: 360px !important;
  max-width: 360px !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-note-cell {
  padding: 4px 6px !important;
  white-space: normal !important;
  vertical-align: top !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-note-input {
  width: 100% !important;
  min-width: 330px !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 92px !important;
  resize: vertical !important;
  white-space: normal !important;
  overflow: auto !important;
  line-height: 1.25 !important;
  padding: 5px 7px !important;
  border: 1px solid transparent !important;
  border-radius: 3px !important;
  background: transparent !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-note-input:focus {
  background: #fffbe6 !important;
  border-color: #0d6efd !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.transaksi-bulanan-page .tb-grid-table tbody td {
  height: 58px !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-money-cell,
.transaksi-bulanan-page .tb-grid-table .tb-row-no {
  vertical-align: middle !important;
}

/* =========================================================
   PATCH FINAL: Transaksi Bulanan sticky No + Nama only
   Catatan tetap normal, horizontal scroll tetap aktif.
   ========================================================= */
.transaksi-bulanan-page .tb-grid-wrap,
.transaksi-bulanan-page .transaksi-bulanan-grid {
  overflow-x: auto !important;
  overflow-y: auto !important;
  position: relative !important;
}

.transaksi-bulanan-page .tb-grid-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  width: max-content !important;
  min-width: 1720px !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-col-no,
.transaksi-bulanan-page .tb-grid-table .tb-row-no {
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-col-name,
.transaksi-bulanan-page .tb-grid-table .tb-name-cell {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-col-money,
.transaksi-bulanan-page .tb-grid-table .tb-money-cell {
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-col-note,
.transaksi-bulanan-page .tb-grid-table .tb-note-cell {
  width: 330px !important;
  min-width: 330px !important;
  max-width: 330px !important;
}

.transaksi-bulanan-page .tb-grid-table thead .tb-col-no,
.transaksi-bulanan-page .tb-grid-table tbody .tb-row-no {
  position: sticky !important;
  left: 0 !important;
  z-index: 80 !important;
  background: #fff !important;
  background-clip: padding-box !important;
  box-shadow: 1px 0 0 #c7cfd7 !important;
}

.transaksi-bulanan-page .tb-grid-table thead .tb-col-name,
.transaksi-bulanan-page .tb-grid-table tbody .tb-name-cell {
  position: sticky !important;
  left: 52px !important;
  z-index: 80 !important;
  background: #fff !important;
  background-clip: padding-box !important;
  box-shadow: 2px 0 0 #c7cfd7 !important;
}

.transaksi-bulanan-page .tb-grid-table thead .tb-col-no,
.transaksi-bulanan-page .tb-grid-table thead .tb-col-name {
  z-index: 120 !important;
  background: #5f788f !important;
  color: #fff !important;
}

.transaksi-bulanan-page .tb-grid-table tbody tr:nth-child(odd) .tb-row-no,
.transaksi-bulanan-page .tb-grid-table tbody tr:nth-child(odd) .tb-name-cell {
  background: #fff !important;
}

.transaksi-bulanan-page .tb-grid-table tbody tr:nth-child(even) .tb-row-no,
.transaksi-bulanan-page .tb-grid-table tbody tr:nth-child(even) .tb-name-cell {
  background: #f7f7f7 !important;
}

.transaksi-bulanan-page .tb-grid-table tbody tr:hover .tb-row-no,
.transaksi-bulanan-page .tb-grid-table tbody tr:hover .tb-name-cell {
  background: #eef7ff !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-note-cell {
  white-space: normal !important;
  overflow: visible !important;
  vertical-align: top !important;
  padding: 4px 6px !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-note-input {
  width: 100% !important;
  min-width: 300px !important;
  height: 42px !important;
  min-height: 42px !important;
  resize: vertical !important;
  white-space: normal !important;
  overflow: auto !important;
  line-height: 1.25 !important;
}

.transaksi-bulanan-page .tb-grid-table tfoot th:first-child {
  position: sticky !important;
  left: 0 !important;
  z-index: 90 !important;
  width: 312px !important;
  min-width: 312px !important;
  max-width: 312px !important;
  background: #eef3f8 !important;
  box-shadow: 2px 0 0 #c7cfd7 !important;
}

/* =========================================================
   PATCH 280 FINAL: Transaksi Bulanan horizontal scroll tetap aktif,
   kolom No + Nama sticky, kolom nominal tidak rusak/menumpuk.
   ========================================================= */
.transaksi-bulanan-page .tb-grid-wrap,
.transaksi-bulanan-page .transaksi-bulanan-grid {
  width: 100% !important;
  max-width: 100% !important;
  overflow: auto !important;
  position: relative !important;
  background: #fff !important;
}

.transaksi-bulanan-page .tb-grid-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  width: 2012px !important;
  min-width: 2012px !important;
  max-width: none !important;
}

.transaksi-bulanan-page .tb-grid-table col.tb-cg-no {
  width: 52px !important;
}

.transaksi-bulanan-page .tb-grid-table col.tb-cg-name {
  width: 260px !important;
}

.transaksi-bulanan-page .tb-grid-table col.tb-cg-money {
  width: 130px !important;
}

.transaksi-bulanan-page .tb-grid-table col.tb-cg-note {
  width: 400px !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-col-no,
.transaksi-bulanan-page .tb-grid-table .tb-row-no {
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-col-name,
.transaksi-bulanan-page .tb-grid-table .tb-name-cell {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-col-money,
.transaksi-bulanan-page .tb-grid-table .tb-money-cell {
  width: 130px !important;
  min-width: 130px !important;
  max-width: 130px !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-col-note,
.transaksi-bulanan-page .tb-grid-table .tb-note-cell {
  width: 400px !important;
  min-width: 400px !important;
  max-width: 400px !important;
}

.transaksi-bulanan-page .tb-grid-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
  white-space: nowrap !important;
}

.transaksi-bulanan-page .tb-grid-table thead tr:nth-child(2) th {
  top: 34px !important;
  z-index: 41 !important;
}

.transaksi-bulanan-page .tb-grid-table thead .tb-col-no,
.transaksi-bulanan-page .tb-grid-table thead .tb-col-name {
  top: 0 !important;
  z-index: 150 !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-row-no,
.transaksi-bulanan-page .tb-grid-table .tb-name-cell,
.transaksi-bulanan-page .tb-grid-table thead .tb-col-no,
.transaksi-bulanan-page .tb-grid-table thead .tb-col-name {
  position: sticky !important;
  background-clip: padding-box !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-row-no,
.transaksi-bulanan-page .tb-grid-table thead .tb-col-no {
  left: 0 !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-name-cell,
.transaksi-bulanan-page .tb-grid-table thead .tb-col-name {
  left: 52px !important;
  box-shadow: 2px 0 0 #c6d0d9 !important;
}

.transaksi-bulanan-page .tb-grid-table tbody .tb-row-no,
.transaksi-bulanan-page .tb-grid-table tbody .tb-name-cell {
  z-index: 90 !important;
}

.transaksi-bulanan-page .tb-grid-table thead .tb-col-no,
.transaksi-bulanan-page .tb-grid-table thead .tb-col-name {
  z-index: 160 !important;
  background: #5f788f !important;
  color: #fff !important;
}

.transaksi-bulanan-page .tb-grid-table tbody tr:nth-child(odd) .tb-row-no,
.transaksi-bulanan-page .tb-grid-table tbody tr:nth-child(odd) .tb-name-cell {
  background: #fff !important;
}

.transaksi-bulanan-page .tb-grid-table tbody tr:nth-child(even) .tb-row-no,
.transaksi-bulanan-page .tb-grid-table tbody tr:nth-child(even) .tb-name-cell {
  background: #f7f7f7 !important;
}

.transaksi-bulanan-page .tb-grid-table tbody tr:hover .tb-row-no,
.transaksi-bulanan-page .tb-grid-table tbody tr:hover .tb-name-cell {
  background: #eef7ff !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-money-cell {
  padding: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-money-cell input.form-control,
.transaksi-bulanan-page .tb-grid-table .tb-money-cell .monthly-input,
.transaksi-bulanan-page .tb-grid-table .tb-money-cell .rupiah-input {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 36px !important;
  padding: 5px 8px !important;
  box-sizing: border-box !important;
  text-align: right !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-note-cell {
  padding: 4px 6px !important;
  white-space: normal !important;
  overflow: visible !important;
  vertical-align: top !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-note-input {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 96px !important;
  resize: vertical !important;
  white-space: normal !important;
  overflow: auto !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
}

.transaksi-bulanan-page .tb-grid-table tbody td {
  height: 56px !important;
}

.transaksi-bulanan-page .tb-grid-table tfoot th {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 55 !important;
}

.transaksi-bulanan-page .tb-grid-table tfoot th:first-child {
  position: sticky !important;
  left: 0 !important;
  z-index: 130 !important;
  width: 312px !important;
  min-width: 312px !important;
  max-width: 312px !important;
  background: #eef3f8 !important;
  box-shadow: 2px 0 0 #c6d0d9 !important;
}


/* PATCH 281: input rupiah transaksi bulanan aman saat diedit.
   Nilai Rp 25.000 tetap tampil utuh, tidak terpotong menjadi Rp 25. */
.transaksi-bulanan-page .tb-grid-table .tb-money-cell .rupiah-input {
  font-size: 12.5px !important;
  letter-spacing: -.1px !important;
  direction: ltr !important;
}

.transaksi-bulanan-page .tb-grid-table .tb-money-cell .rupiah-input:focus {
  background: #fffbe6 !important;
  color: #0f172a !important;
  overflow: visible !important;
}

/* Produk: Jenis Simpanan dan Bunga Pinjaman dibuat tab, bukan dua tabel bertumpuk */
.produk-tab-page .produk-main-tabs .inner-data-tab {
  min-width: 160px;
  justify-content: center
}

.produk-tab-page .produk-main-tabs .inner-data-tab .inner-close {
  display: none !important
}

.produk-tab-page .product-tab-panel {
  display: none;
  min-height: 0
}

.produk-tab-page .product-tab-panel.active {
  display: block
}

.produk-tab-page .product-panel-title {
  font-weight: 800;
  color: #1f2933;
  margin: 4px 0 8px;
  font-size: 1rem
}

.produk-tab-page .product-grid-wrap {
  height: calc(100vh - 295px);
  min-height: 310px;
  overflow: auto
}

.produk-tab-page .accurate-grid-table thead th {
  position: sticky;
  top: 0;
  /* z-index: 5 */
}

.produk-tab-page .produk-summary-row .card {
  border-radius: 11px !important
}

.produk-tab-page .product-action {
  display: none
}

.produk-tab-page .inner-data-tab.active {
  background: #fff !important;
  color: #111 !important;
  border-top-color: #e61c5d !important;
  border-left-color: #c9c9c9 !important;
  border-right-color: #c9c9c9 !important;
  border-bottom-color: #fff !important;
  font-weight: 700 !important
}

/* PATCH 283: Produk table viewport fix
   Area tabel harus scroll sendiri dan tidak tertutup taskbar/browser viewport. */
.embed-body:has(.produk-tab-page) {
  height: 100vh !important;
  overflow: hidden !important;
}

.embed-body:has(.produk-tab-page) .embed-content {
  height: 100vh !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.produk-tab-page {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding-bottom: 0 !important;
}

.produk-tab-page .produk-main-tabs,
.produk-tab-page .accurate-list-toolbar,
.produk-tab-page .produk-summary-row,
.produk-tab-page .product-panel-title {
  flex: 0 0 auto !important;
}

.produk-tab-page .produk-summary-row {
  margin-bottom: 10px !important;
}

.produk-tab-page .product-tab-panel {
  min-height: 0 !important;
  overflow: hidden !important;
}

.produk-tab-page .product-tab-panel.active {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

.produk-tab-page .product-grid-wrap {
  flex: 1 1 auto !important;
  min-height: 120px !important;
  height: auto !important;
  max-height: none !important;
  overflow: auto !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  padding-bottom: 8px !important;
}

.produk-tab-page .product-grid-wrap .accurate-grid-table {
  margin-bottom: 0 !important;
}

.produk-tab-page .accurate-grid-table thead th {
  position: sticky !important;
  top: 0 !important;
  /* z-index: 30 !important; */
}

@media(max-height:720px) {
  .produk-tab-page .produk-summary-row .card-body {
    padding: 9px 14px !important;
  }

  .produk-tab-page .produk-summary-row h3 {
    font-size: 1.35rem !important;
  }
}

/* Neraca Komparatif RAT */
.neraca-komparatif-page {
  height: calc(100vh - 8px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.neraca-sheet-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
  background: #efefef;
  border-top: 1px solid #cfcfcf;
  padding: 8px;
}

.neraca-sheet {
  background: #fff;
  border: 1px solid #111;
  min-width: 1040px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .12);
}

.neraca-title {
  text-align: center;
  color: #000;
  line-height: 1.25;
  padding: 3px 0 0;
}

.neraca-title h3 {
  font-size: 1.12rem;
  font-weight: 800;
  margin: 0;
  text-transform: uppercase;
}

.neraca-title h4 {
  font-size: 1.08rem;
  font-weight: 800;
  margin: 4px 0 0;
  text-transform: uppercase;
}

.neraca-title div {
  font-size: .72rem;
  font-weight: 700;
  margin-top: 3px;
}

.neraca-title strong {
  font-size: .74rem;
  display: block;
  margin-top: 3px;
}

.neraca-title hr {
  margin: 4px 0;
  border: 0;
  border-top: 2px solid #111;
  opacity: 1;
}

.neraca-title h5 {
  font-size: .86rem;
  font-weight: 800;
  margin: 4px 0 0;
  text-transform: uppercase;
}

.neraca-scroll {
  max-height: calc(100vh - 270px);
  overflow: auto;
}

.neraca-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .78rem;
  color: #000;
}

.neraca-table th,
.neraca-table td {
  border: 1px solid #111;
  padding: 3px 5px;
  height: 20px;
  vertical-align: middle;
  background: #fff;
}

.neraca-table thead th {
  position: sticky;
  top: 0;
  z-index: 4;
  background: #f5f5f5 !important;
  color: #000 !important;
  font-weight: 800;
  text-align: center;
}

.neraca-table .neraca-uraian {
  width: 30%;
}

.neraca-table .neraca-code {
  width: 5%;
}

.neraca-table .neraca-money {
  width: 12.5%;
}

.neraca-heading {
  font-weight: 800;
  background: #fff !important;
}

.neraca-total {
  font-weight: 800;
  font-style: italic;
  background: #fff !important;
}

.neraca-grand-total {
  font-weight: 900;
  font-style: italic;
  background: #fff !important;
}

.neraca-balance-note {
  border-top: 2px solid #111;
  padding: 7px 10px;
  font-size: .82rem;
  background: #f7fff7;
  color: #0a562a;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.neraca-balance-note.bad {
  background: #fff6f6;
  color: #a30d0d;
}

@media print {
  .neraca-komparatif-page {
    height: auto;
    overflow: visible;
  }

  .neraca-sheet-wrap {
    overflow: visible;
    padding: 0;
    background: #fff;
    border: 0;
  }

  .neraca-sheet {
    box-shadow: none;
    border: 1px solid #111;
    min-width: 0;
  }

  .neraca-scroll {
    max-height: none;
    overflow: visible;
  }

  .neraca-table {
    font-size: 10px;
  }
}

/* Neraca Komparatif - integrasi Buku Besar/Neraca Saldo */
.neraca-reconcile-box {
  background: #fff;
  border: 1px solid #c8c8c8;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .10);
  padding: 10px;
  margin: 8px;
}

.neraca-reconcile-box .small-scroll {
  max-height: 240px;
  overflow: auto;
}

.neraca-reconcile-box .accurate-table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
}

/* Neraca Komparatif - Rekonsiliasi sebagai tab terpisah */
.neraca-reconcile-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
  background: #efefef;
  border-top: 1px solid #cfcfcf;
  padding: 8px;
}

.neraca-reconcile-box {
  background: #fff;
  border: 1px solid #c9c9c9;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .12);
  padding: 12px;
  min-height: 100%;
}

.neraca-reconcile-scroll {
  height: calc(100vh - 260px) !important;
  max-height: calc(100vh - 260px) !important;
  overflow: auto !important;
}

.neraca-komparatif-page .accurate-inner-tabs .inner-data-tab .inner-close {
  display: none;
}

/* Alur transaksi debit-kredit koperasi */
.akuntansi-alur-page .alur-panel {
  padding: 18px;
  background: #fff;
  border: 1px solid #bfc5cc;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
  margin: 0;
  overflow: auto;
  max-height: calc(100vh)
}

.alur-side-card {
  border: 1px solid #b7c2cf;
  border-radius: 6px;
  background: #f8fbff;
  overflow: hidden;
  font-size: 13px
}

.alur-side-card h6 {
  margin: 0;
  background: #0b2d50;
  color: #fff;
  padding: 9px 12px;
  font-weight: 700;
  text-align: center
}

.alur-side-card div,
.alur-side-card p {
  padding: 8px 12px;
  border-top: 1px solid #d7dee7;
  margin: 0
}

.alur-side-card span {
  color: #075b25;
  font-weight: 700
}

.alur-box {
  border: 1px solid #1d6b32;
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
  min-height: 100%
}

.alur-box-head {
  background: linear-gradient(#207b38, #116128);
  color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 8px 10px;
  font-size: 14px;
  letter-spacing: .2px
}

.alur-row-flow {
  padding: 10px 12px;
  border-bottom: 1px solid #d7e6d8
}

.alur-row-flow:last-child {
  border-bottom: 0
}

.alur-title {
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 6px
}

.alur-account {
  border: 1px solid #8ba59a;
  background: #fbfffc;
  border-radius: 5px;
  min-width: 45%;
  max-width: 45%;
  padding: 8px 10px;
  text-align: center;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08)
}

.alur-account span {
  display: block;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.25;
  min-height: 30px
}

.alur-account b {
  display: block;
  margin-top: 4px;
  font-size: 12px
}

.alur-account.debit b {
  color: #008a2d
}

.alur-account.kredit b {
  color: #c00000
}

@media(max-width:991px) {
  .alur-account {
    min-width: 150px
  }

  .akuntansi-alur-page .alur-panel {
    max-height: none
  }
}

/* Global searchable dropdown select */
select.searchable-select-source {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  left: -9999px !important;
}

.searchable-select {
  position: relative;
  display: inline-block;
  width: 100%;
  min-width: 120px;
  vertical-align: middle;
  font-size: 14px;
}

.searchable-select.ss-sm {
  font-size: .875rem;
}

.searchable-select .ss-control {
  width: 100%;
  height: 34px;
  min-height: 34px;
  border: 1px solid #c4c9cf;
  border-radius: 4px;
  background: #fff;
  color: #1d1d1d;
  padding: 5px 30px 5px 10px;
  outline: none;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .04);
}

.searchable-select.ss-sm .ss-control {
  height: 35px;
  min-height: 35px;
  padding-top: 4px;
  padding-bottom: 4px;
  font-size: .875rem;
}

.searchable-select .ss-control:focus {
  border-color: #2b80c9;
  box-shadow: 0 0 0 2px rgba(43, 128, 201, .16), inset 0 1px 1px rgba(0, 0, 0, .04);
}

.searchable-select .ss-arrow {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  color: #333;
  pointer-events: none;
  font-size: 12px;
}

.searchable-select .ss-menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 2px);
  z-index: 99999;
  max-height: 240px;
  overflow: auto;
  background: #fff;
  border: 1px solid #9fb6ca;
  border-radius: 4px;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .18);
}

.searchable-select.is-open .ss-menu {
  display: block;
}

.searchable-select .ss-option {
  padding: 7px 10px;
  cursor: pointer;
  white-space: normal;
  line-height: 1.25;
  border-bottom: 1px solid #eef1f4;
}

.searchable-select .ss-option:last-child {
  border-bottom: 0;
}

.searchable-select .ss-option:hover,
.searchable-select .ss-option.is-active {
  background: #eaf4ff;
}

.searchable-select .ss-option.is-selected {
  background: #dff0ff;
  font-weight: 600;
}

.searchable-select .ss-empty {
  padding: 9px 10px;
  color: #777;
  font-style: italic;
}

.searchable-select.is-disabled .ss-control {
  background: #e9ecef;
  color: #777;
  cursor: not-allowed;
}

/* Keep toolbar/select widths stable after replacement */
.accurate-list-toolbar .searchable-select,
.toolbar-row .searchable-select {
  width: 180px;
}

.accurate-list-toolbar .toolbar-select+.searchable-select,
.toolbar-row .toolbar-select+.searchable-select {
  width: 180px;
}

.akun-control+.searchable-select,
.form-select+.searchable-select {
  max-width: 100%;
}

.input-group .searchable-select {
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}

@media(max-width:768px) {

  .accurate-list-toolbar .searchable-select,
  .toolbar-row .searchable-select,
  .accurate-list-toolbar .toolbar-select+.searchable-select,
  .toolbar-row .toolbar-select+.searchable-select {
    width: 100%;
  }
}


/* Searchable dropdown inline-search refinement */
.searchable-select.searchable-select-inline-search .ss-control {
  cursor: pointer;
  background: #fff;
}

.searchable-select.searchable-select-inline-search .ss-control[readonly] {
  caret-color: transparent;
}

.searchable-select .ss-menu {
  padding: 0;
  overflow: hidden;
}

.searchable-select .ss-search {
  display: block;
  width: 100%;
  height: 36px;
  border: 0;
  border-bottom: 1px solid #c9d2dc;
  padding: 7px 10px;
  font: inherit;
  outline: none;
  background: #eaf6ff;
  color: #111;
  box-sizing: border-box;
  font-weight: 700;
}

.searchable-select .ss-search:focus {
  background: #eef8ff;
  box-shadow: inset 0 0 0 2px #e6004f;
}

.searchable-select .ss-options {
  max-height: 245px;
  overflow: auto;
}

.searchable-select.ss-sm .ss-search {
  height: 32px;
  padding: 5px 8px;
}

.searchable-select.ss-sm .ss-options {
  max-height: 210px;
}


/* Searchable dropdown final cleanup: placeholder options hidden, list height fixed */
.searchable-select .ss-control::placeholder {
  color: #777;
  font-weight: 400;
}

.searchable-select .ss-search {
  background: #fff;
  color: #111;
  font-weight: 400;
  border-bottom: 1px solid #c9d2dc;
}

.searchable-select .ss-search::placeholder {
  color: #777;
  font-weight: 400;
}

.searchable-select .ss-search:focus {
  background: #fff;
  box-shadow: inset 0 0 0 2px rgba(43, 128, 201, .18);
}

.searchable-select .ss-menu {
  max-height: 310px;
  overflow: hidden;
}

.searchable-select .ss-options {
  max-height: 268px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 8px;
  box-sizing: border-box;
}

.searchable-select .ss-option {
  min-height: 34px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  overflow: visible;
}

.searchable-select .ss-option:last-child {
  margin-bottom: 4px;
}

.searchable-select.ss-sm .ss-options {
  max-height: 238px;
}

/* Searchable dropdown scroll restore/final: keep inline search, restore list scrollbar */
.searchable-select.searchable-select-inline-search .ss-menu {
  display: none;
  flex-direction: column;
  overflow: hidden !important;
  max-height: 340px !important;
  min-height: 0;
}

.searchable-select.searchable-select-inline-search.is-open .ss-menu {
  display: flex !important;
}

.searchable-select.searchable-select-inline-search .ss-search {
  flex: 0 0 auto;
  height: 36px;
}

.searchable-select.searchable-select-inline-search .ss-options {
  flex: 1 1 auto;
  min-height: 0;
  max-height: 294px !important;
  overflow-y: scroll !important;
  overflow-x: hidden !important;
  padding-bottom: 10px;
  scrollbar-width: thin;
  overscroll-behavior: contain;
}

.searchable-select.searchable-select-inline-search.ss-sm .ss-options {
  max-height: 250px !important;
}

.searchable-select.searchable-select-inline-search .ss-option {
  flex: 0 0 auto;
  min-height: 34px;
}

.searchable-select.searchable-select-inline-search .ss-option:last-child {
  margin-bottom: 8px;
}

.searchable-select.searchable-select-inline-search .ss-options::-webkit-scrollbar {
  width: 10px;
}

.searchable-select.searchable-select-inline-search .ss-options::-webkit-scrollbar-thumb {
  background: #9aa7b3;
  border-radius: 8px;
  border: 2px solid #f4f6f8;
}

.searchable-select.searchable-select-inline-search .ss-options::-webkit-scrollbar-track {
  background: #f4f6f8;
}

/* Rekap Simpanan: tampilan seperti transaksi bulanan, kolom jenis simpanan dinamis */
.simpanan-rekap-page {
  height: 100%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.simpanan-rekap-page .simpanan-summary-strip {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.simpanan-rekap-page .accurate-list-toolbar {
  flex: 0 0 auto;
}

.simpanan-rekap-grid {
  flex: 1 1 auto !important;
  min-height: 260px !important;
  overflow: auto !important;
  border-top: 1px solid #6f879a !important;
}

.simpanan-rekap-table {
  min-width: calc(310px + 130px * var(--simpanan-cols, 7));
  table-layout: fixed !important;
}

.simpanan-rekap-table .tb-col-no,
.simpanan-rekap-table .tb-row-no {
  position: sticky !important;
  left: 0 !important;
  z-index: 25 !important;
  background: inherit !important;
}

.simpanan-rekap-table .tb-col-name,
.simpanan-rekap-table .tb-name-cell {
  position: sticky !important;
  left: 48px !important;
  z-index: 25 !important;
  background: inherit !important;
  box-shadow: 1px 0 0 #c7d1d8 !important;
}

.simpanan-rekap-table thead .tb-col-no,
.simpanan-rekap-table thead .tb-col-name {
  z-index: 45 !important;
  background: #617e93 !important;
}

.simpanan-rekap-table tfoot .tb-row-no,
.simpanan-rekap-table tfoot .tb-name-cell {
  z-index: 35 !important;
}

.simpanan-rekap-table .tb-cg-total {
  width: 135px;
  min-width: 135px;
}

.simpanan-rekap-table .tb-col-total {
  width: 135px !important;
  min-width: 135px !important;
}

.simpanan-rekap-table .tb-money-display,
.simpanan-rekap-table .tb-total-cell {
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums;
  padding-right: 10px !important;
}

.simpanan-rekap-page .tb-search-box {
  width: 240px;
}

@media (max-width: 900px) {
  .simpanan-rekap-page .simpanan-summary-strip {
    grid-template-columns: 1fr;
  }

  .simpanan-rekap-page .tb-search-box {
    width: 180px;
  }
}


/* Akuntansi inner tabs - dibuat lebih jelas untuk admin */
.akuntansi-module-tabs {
  display: flex;
  gap: 6px;
  align-items: stretch;
  overflow-x: auto;
  padding: 0 8px;
  margin: 0 -6px 0px;
  border-bottom: 1px solid #b9b9b9;
  min-height: 50px !important;
}

.akuntansi-module-tabs::-webkit-scrollbar {
  height: 7px;
}

.akuntansi-module-tabs::-webkit-scrollbar-thumb {
  background: #b8b8b8;
  border-radius: 8px;
}

.akuntansi-module-tab {
  flex: 0 0 auto;
  min-width: 145px;
  height: 50px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 12px;
  border: 1px solid #c9c9c9;
  border-bottom: 0;
  border-radius: 7px 7px 0 0;
  background: linear-gradient(#fafafa, #e5e5e5);
  color: #334155;
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.akuntansi-module-tab i {
  font-size: 1.25rem;
  color: #5b6570;
}

.akuntansi-module-tab .tab-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.akuntansi-module-tab .tab-text b {
  font-size: .88rem;
  white-space: nowrap;
}

.akuntansi-module-tab .tab-text small {
  font-size: .68rem;
  color: #768394;
  margin-top: 2px;
  white-space: nowrap;
}

.akuntansi-module-tab.active {
  background: #fff;
  color: #126da9;
  border-color: #9eb5c8;
  position: relative;
  top: 1px;
  box-shadow: 0 -1px 0 #fff inset, 0 -2px 7px rgba(0, 0, 0, .07);
}

.akuntansi-module-tab.active i {
  color: #126da9;
}

.akuntansi-module-tab:hover {
  color: #126da9;
  filter: brightness(1.01);
}

.akuntansi-quick-note {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #eef7ff;
  border: 1px solid #cfe8ff;
  color: #31546f;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: .85rem;
  margin-bottom: 10px;
}

.akuntansi-quick-note i {
  font-size: 1rem;
  color: #0d6efd;
}

@media(max-width:900px) {
  .akuntansi-module-tab {
    min-width: 132px;
    padding: 7px 10px;
  }

  .akuntansi-module-tab .tab-text small {
    display: none;
  }
}

/* =========================================================
   KPRI SAFE semantic tile colors
   Patch aman: hanya mewarnai tombol launcher/menu kotak.
   Tidak mengubah inner tab, table, form, searchable dropdown, atau layout workspace.
   ========================================================= */
.launcher-tile.kpri-safe-color-transaction {
  background: linear-gradient(#e7fbdf, #d4f7cd) !important;
  border-color: #69bd48 !important;
  color: #2f5e20 !important;
}

.launcher-tile.kpri-safe-color-transaction i {
  color: #4f9f2b !important;
}

.launcher-tile.kpri-safe-color-master {
  background: linear-gradient(#e4f4ff, #d1ecff) !important;
  border-color: #5aa9d2 !important;
  color: #28546c !important;
}

.launcher-tile.kpri-safe-color-master i {
  color: #147da9 !important;
}

.launcher-tile.kpri-safe-color-accounting {
  background: linear-gradient(#fff2df, #ffe1c8) !important;
  border-color: #df9443 !important;
  color: #765027 !important;
}

.launcher-tile.kpri-safe-color-accounting i {
  color: #d47714 !important;
}

.launcher-tile.kpri-safe-color-report {
  background: linear-gradient(#f2e6ff, #ead8ff) !important;
  border-color: #a868d8 !important;
  color: #5b2c7d !important;
}

.launcher-tile.kpri-safe-color-report i {
  color: #7b2ca7 !important;
}

.launcher-tile.kpri-safe-color-utility {
  background: linear-gradient(#ffe8f5, #f7daf0) !important;
  border-color: #cf78b2 !important;
  color: #7c2f67 !important;
}

.launcher-tile.kpri-safe-color-utility i {
  color: #a72e87 !important;
}

.launcher-tile.kpri-safe-color-danger {
  background: linear-gradient(#ffe4e4, #ffd2d2) !important;
  border-color: #dc3545 !important;
  color: #7a1e26 !important;
}

.launcher-tile.kpri-safe-color-danger i {
  color: #c62836 !important;
}

.launcher-tile.kpri-safe-color-transaction:hover,
.launcher-tile.kpri-safe-color-master:hover,
.launcher-tile.kpri-safe-color-accounting:hover,
.launcher-tile.kpri-safe-color-report:hover,
.launcher-tile.kpri-safe-color-utility:hover,
.launcher-tile.kpri-safe-color-danger:hover {
  box-shadow: 0 5px 14px rgba(0, 0, 0, .18) !important;
  filter: brightness(1.015);
}

/* Dropdown akun: tampilan nama, kode, dan kategori seperti Accurate */
.searchable-select .ss-option.ss-option-account {
  min-height: 58px !important;
  padding: 0 !important;
  display: block !important;
  align-items: initial !important;
  white-space: normal !important;
}

.searchable-select .ss-option-account .ss-account-row {
  display: flex;
  width: 100%;
  min-height: 58px;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  box-sizing: border-box;
}

.searchable-select .ss-option-account .ss-account-left {
  flex: 1 1 auto;
  min-width: 0;
}

.searchable-select .ss-option-account .ss-account-name {
  color: #222;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 400;
  overflow-wrap: anywhere;
}

.searchable-select .ss-option-account.is-bold .ss-account-name,
.searchable-select .ss-option-account.is-bold .ss-account-code {
  font-weight: 700;
}

.searchable-select .ss-option-account .ss-account-code {
  color: #111;
  font-size: 13px;
  line-height: 1.15;
  margin-top: 5px;
}

.searchable-select .ss-option-account .ss-account-category {
  flex: 0 0 auto;
  max-width: 42%;
  color: #333;
  font-size: 13px;
  font-style: italic;
  line-height: 1.2;
  text-align: right;
  white-space: normal;
}

.searchable-select .ss-option-account:hover .ss-account-category,
.searchable-select .ss-option-account.is-active .ss-account-category,
.searchable-select .ss-option-account.is-selected .ss-account-category {
  color: #222;
}

.searchable-select .ss-option-account.is-selected .ss-account-name,
.searchable-select .ss-option-account.is-selected .ss-account-code {
  font-weight: 600;
}

/* Accurate-style global notification */
.kpri-toast-root {
  position: fixed;
  top: 58px;
  right: 0;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  pointer-events: none;
}

.kpri-toast {
  width: 236px;
  min-height: 64px;
  background: #20a8e0;
  color: #fff;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .22);
  padding: 10px 34px 12px 12px;
  transform: translateX(105%);
  opacity: 0;
  transition: transform .2s ease, opacity .2s ease;
  pointer-events: auto;
  border-left: 1px solid rgba(255, 255, 255, .35);
}

.kpri-toast.show {
  transform: translateX(0);
  opacity: 1
}

.kpri-toast-title {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.15;
  margin-bottom: 4px
}

.kpri-toast-message {
  font-size: 12px;
  line-height: 1.35
}

.kpri-toast-close {
  position: absolute;
  right: 8px;
  top: 6px;
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .65);
  color: #20a8e0;
  font-weight: 700;
  line-height: 16px;
  padding: 0;
  text-align: center
}

.kpri-toast-close:hover {
  background: #fff
}

.kpri-toast-success {
  background: #20a8e0
}

.kpri-toast-danger,
.kpri-toast-error {
  background: #dc3545
}

.kpri-toast-warning {
  background: #f6a400;
  color: #fff
}

.kpri-toast-info {
  background: #20a8e0
}

.embed-body .kpri-toast-root {
  top: 8px
}

/* =========================================================
   PATCH V26 - Global Inner Tab Active Neutral
   - Hilangkan warna hijau pada tab daftar/list di seluruh fitur.
   - Samakan gaya tab internal: tab daftar dan tab data memakai abu/putih.
   - Tab aktif ditandai dengan garis atas pink, bukan warna hijau.
   ========================================================= */
.accurate-inner-tabs .inner-list-tab,
.embed-body .accurate-inner-tabs .inner-list-tab,
.akuntansi-akun-page .accurate-inner-tabs .inner-list-tab,
.inner-list-tab {
  background: linear-gradient(#f7f7f7, #d7d7d7) !important;
  color: #333 !important;
  border: 1px solid #b8b8b8 !important;
  border-bottom: 0 !important;
  border-radius: 4px 4px 0 0 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75) !important;
}

.accurate-inner-tabs .inner-list-tab:hover,
.embed-body .accurate-inner-tabs .inner-list-tab:hover,
.akuntansi-akun-page .accurate-inner-tabs .inner-list-tab:hover,
.inner-list-tab:hover {
  background: #f7f7f7 !important;
  color: #111 !important;
  border-color: #a9a9a9 !important;
}

.accurate-inner-tabs .inner-list-tab.active,
.embed-body .accurate-inner-tabs .inner-list-tab.active,
.akuntansi-akun-page .accurate-inner-tabs .inner-list-tab.active,
.inner-list-tab.active {
  position: relative !important;
  top: 1px !important;
  background: #fff !important;
  color: #222 !important;
  border: 1px solid #b8b8b8 !important;
  border-top: 2px solid #e62e65 !important;
  border-bottom: 0 !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.accurate-inner-tabs .inner-list-tab i,
.embed-body .accurate-inner-tabs .inner-list-tab i,
.akuntansi-akun-page .accurate-inner-tabs .inner-list-tab i,
.inner-list-tab i {
  color: inherit !important;
}

/* Pastikan tab data tetap netral dan tidak memakai warna status lain. */
.accurate-inner-tabs .inner-data-tab,
.embed-body .accurate-inner-tabs .inner-data-tab,
.akuntansi-akun-page .accurate-inner-tabs .inner-data-tab,
.inner-data-tab {
  background: linear-gradient(#f7f7f7, #d7d7d7) !important;
  color: #333 !important;
  border: 1px solid #b8b8b8 !important;
  border-bottom: 0 !important;
}

.accurate-inner-tabs .inner-data-tab.active,
.embed-body .accurate-inner-tabs .inner-data-tab.active,
.akuntansi-akun-page .accurate-inner-tabs .inner-data-tab.active,
.inner-data-tab.active {
  background: #fff !important;
  color: #222 !important;
  border-top: 2px solid #e62e65 !important;
  font-weight: 600 !important;
}

/* PATCH V40: posisi search + jumlah data tetap di kanan dan ikon search konsisten */
.toolbar-right-actions {
  margin-left: auto !important;
  justify-content: flex-end !important;
}

.toolbar-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
}

.user-access-search-box,
.toolbar-right-actions .user-access-search-box {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}

.user-access-search-box .form-control,
.toolbar-right-actions .user-access-search-box .form-control {
  width: 225px !important;
  max-width: 225px !important;
  height: 35px !important;
  border-radius: 4px !important;
  padding-right: 38px !important;
  border-color: #bfc7cf !important;
  font-size: 15px !important;
  background: #fff !important;
}

.user-access-search-box button,
.toolbar-right-actions .user-access-search-box button {
  position: absolute !important;
  right: 2px !important;
  top: 1px !important;
  bottom: 1px !important;
  width: 34px !important;
  height: auto !important;
  border: 0 !important;
  background: transparent !important;
  color: #111 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  line-height: 1 !important;
  transform: none !important;
  box-shadow: none !important;
}

.user-access-search-box button .bi,
.toolbar-right-actions .user-access-search-box button .bi,
.user-access-search-box button i,
.toolbar-right-actions .user-access-search-box button i {
  font-size: 18px !important;
  line-height: 1 !important;
  color: #111 !important;
  display: block !important;
}

@media(max-width:900px) {
  .toolbar-search-form {
    width: 100% !important;
    justify-content: flex-end !important;
  }

  .user-access-search-box .form-control,
  .toolbar-right-actions .user-access-search-box .form-control {
    width: 190px !important;
    max-width: 190px !important;
  }
}

/* Anggota entry: vertical section tabs inside Data Anggota */
.anggota-entry-page .anggota-vertical-sections {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  width: 100%;
  max-width: none;
  height: 100%;
}

.anggota-entry-page .anggota-section-nav {
  background: #d1d1d1;
  border: 1px solid #aaa;
  min-height: 100%;
}

.anggota-entry-page .anggota-section-tab {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #aaa;
  background: #d1d1d1;
  color: #555;
  text-align: right;
  padding: 11px 14px;
  font-size: 14px;
  line-height: 1.25;
  min-height: 42px
}

.anggota-entry-page .anggota-section-tab:hover {
  background: #c5c5c5;
  color: #222
}

.anggota-entry-page .anggota-section-tab.active {
  background: #fff;
  color: #111;
  font-weight: 600;
  border-right: 3px solid #d6336c
}

.anggota-entry-page .anggota-section-content {
  background: #fff;
  border: 1px solid #aaa;
  min-height: 100%;
  padding: 14px 16px;
  width: 100%
}

.anggota-entry-page .anggota-section-panel {
  display: none
}

.anggota-entry-page .anggota-section-panel.active {
  display: block
}

.anggota-entry-page .anggota-field-grid {
  width: 100%;
  max-width: none
}

.anggota-entry-page .anggota-field-grid .classic-field {
  grid-template-columns: 210px minmax(260px, 350px);
  max-width: 920px
}

.anggota-entry-page .anggota-field-grid .classic-field.classic-field-textarea {
  align-items: start
}

.anggota-entry-page .anggota-input-help {
  display: grid;
  grid-template-columns: minmax(100%, 520px) minmax(100%, 1fr);
  gap: 12px;
  align-items: center;
  width: 100%
}

.anggota-entry-page .anggota-inline-help {
  margin-top: 0;
  color: #666;
  font-size: 12px;
  line-height: 1.35
}

@media(max-width:900px) {
  .anggota-entry-page .anggota-vertical-sections {
    grid-template-columns: 1fr;
    max-width: none
  }

  .anggota-entry-page .anggota-section-nav {
    display: flex;
    overflow: auto;
    min-height: auto
  }

  .anggota-entry-page .anggota-section-tab {
    min-width: 165px;
    text-align: center;
    border-right: 1px solid #aaa
  }

  .anggota-entry-page .anggota-field-grid .classic-field {
    grid-template-columns: 1fr;
    max-width: none
  }

  .anggota-entry-page .anggota-input-help {
    grid-template-columns: 1fr
  }

  .anggota-entry-page .anggota-inline-help {
    margin-top: 4px
  }
}

/* PATCH V43: field wilayah anggota memakai dropdown API berantai */
.anggota-entry-page [data-anggota-wilayah-status] {
  font-size: 12px;
  color: #666;
  line-height: 1.35
}

.anggota-entry-page select[data-anggota-provinsi],
.anggota-entry-page select[data-anggota-kabupaten],
.anggota-entry-page select[data-anggota-kecamatan],
.anggota-entry-page select[data-anggota-desa] {
  background-color: #fff
}

/* Patch V45 - Backup & Restore: reset data, panel ringan tanpa toolbar samping kosong */
.backup-page .accurate-entry-form {
  padding-right: 18px !important;
}

.backup-page .entry-panel {
  padding: 16px 14px 18px;
}

.backup-page .backup-classic-form {
  max-width: 720px;
}

.backup-page .accurate-inner-tabs .inner-data-tab .inner-close {
  display: none !important;
}

@media(max-width:900px) {
  .backup-page .accurate-entry-form {
    padding-right: 0 !important
  }

  .backup-page .backup-classic-form {
    max-width: none
  }
}

/* PATCH V50 - Saldo Awal Akun compact input layout */
.saldo-awal-akun-page {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: calc(100vh - 8px) !important;
  overflow: hidden !important;
  padding-bottom: 0 !important;
}

.saldo-awal-akun-page .saldo-awal-search-toolbar {
  flex: 0 0 auto !important;
}

.saldo-awal-akun-page .saldo-summary-strip {
  flex: 0 0 auto !important;
  grid-template-columns: repeat(4, minmax(135px, 1fr)) !important;
  gap: 8px !important;
  margin: 0 0 8px 0 !important;
}

.saldo-awal-akun-page .saldo-summary-strip .accurate-mini-card {
  min-height: 54px !important;
  padding: 8px 12px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .08) !important;
}

.saldo-awal-akun-page .saldo-summary-strip .accurate-mini-card span {
  font-size: .78rem !important;
  margin-bottom: 2px !important;
}

.saldo-awal-akun-page .saldo-summary-strip .accurate-mini-card strong {
  font-size: 1.05rem !important;
}

.saldo-awal-akun-page .saldo-migrasi-alert {
  flex: 0 0 auto !important;
  padding: 6px 10px !important;
  margin-bottom: 6px !important;
  border-radius: 4px !important;
}

.saldo-awal-akun-page .saldo-awal-form {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.saldo-awal-akun-page .saldo-awal-input-toolbar {
  flex: 0 0 auto !important;
  margin-bottom: 6px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.saldo-awal-akun-page .saldo-awal-date-box input[type="date"] {
  width: 150px !important;
}

.saldo-awal-akun-page .saldo-awal-grid-scroll {
  flex: 1 1 auto !important;
  min-height: 220px !important;
  max-height: none !important;
  overflow: auto !important;
  border: 1px solid #d4d4d4 !important;
  border-top: 0 !important;
  background: #fff !important;
}

.saldo-awal-akun-page .saldo-awal-grid-scroll .akun-grid-table {
  min-width: 980px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.saldo-awal-akun-page .saldo-awal-grid-scroll thead {
  position: sticky !important;
  top: 0 !important;
  z-index: 30 !important;
}

.saldo-awal-akun-page .saldo-awal-grid-scroll thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 31 !important;
  height: 32px !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.saldo-awal-akun-page .saldo-awal-grid-scroll tbody td {
  height: 40px !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.saldo-awal-akun-page .saldo-awal-grid-scroll tfoot {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 25 !important;
}

.saldo-awal-akun-page .saldo-awal-grid-scroll input.form-control-sm {
  height: 31px !important;
  padding: 4px 8px !important;
}

.saldo-awal-akun-page .saldo-awal-money[readonly] {
  background: #f3f4f6 !important;
  color: #777 !important;
}

.saldo-awal-akun-page .saldo-parent-dash {
  display: inline-block !important;
  min-width: 42px !important;
  color: #9aa0a6 !important;
  text-align: center !important;
}

@media(max-width:900px) {
  .saldo-awal-akun-page {
    height: auto !important;
    overflow: visible !important;
  }

  .saldo-awal-akun-page .saldo-summary-strip {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .saldo-awal-akun-page .saldo-awal-form {
    overflow: visible !important;
  }

  .saldo-awal-akun-page .saldo-awal-grid-scroll {
    max-height: 60vh !important;
  }
}


/* PATCH V51 - Saldo Awal Akun: toolbar lebih lega, search kanan sebelum tombol simpan */
.saldo-awal-akun-page .saldo-awal-search-toolbar {
  display: none !important;
}

.saldo-awal-akun-page .saldo-awal-main-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 7px 8px !important;
  margin-bottom: 6px !important;
}

.saldo-awal-akun-page .saldo-awal-main-toolbar .toolbar-left-actions,
.saldo-awal-akun-page .saldo-awal-main-toolbar .toolbar-right-actions {
  display: flex !important;
  align-items: center !important;
}

.saldo-awal-akun-page .saldo-awal-toolbar-right {
  margin-left: auto !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
}

.saldo-awal-akun-page .saldo-awal-search-box {
  width: 225px !important;
  max-width: 32vw !important;
}

.saldo-awal-akun-page .saldo-awal-search-box input {
  height: 34px !important;
}

.saldo-awal-akun-page .saldo-awal-search-box button {
  height: 34px !important;
}

.saldo-awal-akun-page .saldo-awal-main-toolbar .toolbar-count {
  width: 68px !important;
  height: 34px !important;
  text-align: center !important;
  flex: 0 0 68px !important;
}

.saldo-awal-akun-page .saldo-awal-save-btn {
  height: 34px !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

@media(max-width:900px) {
  .saldo-awal-akun-page .saldo-awal-main-toolbar {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .saldo-awal-akun-page .saldo-awal-toolbar-right {
    width: 100% !important;
    margin-left: 0 !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  .saldo-awal-akun-page .saldo-awal-search-box {
    width: 100% !important;
    max-width: none !important;
  }
}


/* PATCH V52 - Saldo Awal Akun: input nominal tampil sebagai Rupiah dengan pemisah ribuan */
.saldo-awal-akun-page .saldo-awal-money {
  font-variant-numeric: tabular-nums !important;
  letter-spacing: .1px !important;
}

.saldo-awal-akun-page .saldo-awal-grid-scroll .akun-col-money,
.saldo-awal-akun-page .saldo-awal-grid-scroll td.text-end {
  min-width: 150px !important;
}

/* PATCH V56: rapikan posisi ikon search pada semua search box toolbar */
.user-access-search-box,
.toolbar-right-actions .user-access-search-box {
  height: 35px !important;
  flex: 0 0 auto !important;
}

.user-access-search-box .form-control,
.toolbar-right-actions .user-access-search-box .form-control {
  height: 35px !important;
  min-height: 35px !important;
  line-height: 33px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-right: 40px !important;
}

.user-access-search-box>button,
.toolbar-right-actions .user-access-search-box>button,
.user-access-search-box button[data-saldo-awal-search-button],
.toolbar-right-actions .user-access-search-box button[data-saldo-awal-search-button] {
  position: absolute !important;
  right: 2px !important;
  top: 50% !important;
  bottom: auto !important;
  width: 34px !important;
  height: 31px !important;
  min-height: 31px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  color: #111 !important;
  z-index: 2 !important;
}

.user-access-search-box>button .bi-search,
.toolbar-right-actions .user-access-search-box>button .bi-search,
.user-access-search-box>button i.bi-search,
.toolbar-right-actions .user-access-search-box>button i.bi-search,
.accurate-list-search .btn .bi-search,
.accurate-list-search .btn i.bi-search {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  font-size: 16px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
  position: static !important;
  transform: none !important;
}

.saldo-awal-akun-page .saldo-awal-search-box,
.saldo-awal-akun-page .saldo-awal-search-box input {
  height: 34px !important;
  min-height: 34px !important;
}

.saldo-awal-akun-page .saldo-awal-search-box>button,
.saldo-awal-akun-page .saldo-awal-search-box button[data-saldo-awal-search-button] {
  height: 30px !important;
  min-height: 30px !important;
}

/* V120 - Daftar Akun: kedalaman COA konsisten seperti Accurate.
   Dipakai oleh Daftar Akun dan Saldo Awal Akun. */
.akuntansi-akun-page .akun-grid-table td.akuntansi-indent-fix,
.saldo-awal-akun-page .akun-grid-table td.akuntansi-indent-fix {
  padding-left: var(--akun-indent, 10px) !important;
}

.akuntansi-akun-page .akun-grid-table tr.akun-level-0 td,
.saldo-awal-akun-page .akun-grid-table tr.akun-level-0 td,
.akuntansi-akun-page .akun-grid-table tr.akun-level-1 td,
.saldo-awal-akun-page .akun-grid-table tr.akun-level-1 td {
  font-weight: 600;
}

.akuntansi-akun-page .akun-grid-table tr.akun-level-2 td,
.saldo-awal-akun-page .akun-grid-table tr.akun-level-2 td {
  font-weight: 400;
}

/* V125 - Daftar Akun: warna nominal selisih di footer tabel.
   Diletakkan setelah aturan footer global karena aturan:
   .embed-body table.accurate-grid-table tfoot th { color:#111 !important; }
   harus ditimpa khusus untuk kolom selisih. */
.embed-body table.accurate-grid-table tfoot th.akun-total-selisih.text-danger,
.embed-body table.accurate-grid-table tfoot td.akun-total-selisih.text-danger,
.embed-body .auto-grid-wrap table tfoot th.akun-total-selisih.text-danger,
.embed-body .auto-grid-wrap table tfoot td.akun-total-selisih.text-danger,
.embed-body table.accurate-grid-table tfoot th.akun-total-selisih.text-danger span,
.embed-body table.accurate-grid-table tfoot td.akun-total-selisih.text-danger span,
.embed-body .auto-grid-wrap table tfoot th.akun-total-selisih.text-danger span,
.embed-body .auto-grid-wrap table tfoot td.akun-total-selisih.text-danger span {
  color: #dc3545 !important;
}

.embed-body table.accurate-grid-table tfoot th.akun-total-selisih.text-success,
.embed-body table.accurate-grid-table tfoot td.akun-total-selisih.text-success,
.embed-body .auto-grid-wrap table tfoot th.akun-total-selisih.text-success,
.embed-body .auto-grid-wrap table tfoot td.akun-total-selisih.text-success,
.embed-body table.accurate-grid-table tfoot th.akun-total-selisih.text-success span,
.embed-body table.accurate-grid-table tfoot td.akun-total-selisih.text-success span,
.embed-body .auto-grid-wrap table tfoot th.akun-total-selisih.text-success span,
.embed-body .auto-grid-wrap table tfoot td.akun-total-selisih.text-success span {
  color: #198754 !important;
}

/* Login patch: support uploaded logo and header alignment with latest app.css */
.login-brand-mark {
  overflow: hidden;
}

.login-brand-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.login-header-right {
  display: flex;
}

@media(max-width:820px) {
  .login-header-right {
    display: none;
  }
}

/* Help/Panduan page - aligned with dashboard/workspace UI */
.kpri-help-page {
  min-height: calc(100vh - 8px);
  background: #eef0f3;
  padding: 10px;
}

.kpri-help-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: 18px;
  align-items: stretch;
  background: radial-gradient(circle at 88% 0%, rgba(10, 166, 166, .14), transparent 30%), linear-gradient(135deg, #fff, #f7fbff);
  border-radius: 4px !important;
  border-color: #c8c8c8 !important;
  box-shadow: none !important;
  margin-bottom: 10px;
}

.kpri-help-hero .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.kpri-help-hero h1 {
  font-size: 1.65rem;
  font-weight: 850;
  color: #172033;
  margin: 7px 0 8px;
  letter-spacing: -.02em;
}

.kpri-help-hero p {
  max-width: 760px;
  margin: 0;
  color: #5f6f83;
  line-height: 1.6;
}

.kpri-help-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.kpri-help-actions .btn {
  border-radius: 4px;
  font-weight: 700;
}

.kpri-help-hero-card {
  border: 1px solid #d7d7d7;
  background: #fff;
  border-radius: 4px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 150px;
}

.kpri-help-hero-icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: #e7f0ff;
  color: #1768e5;
  display: grid;
  place-items: center;
  font-size: 1.6rem;
  margin-bottom: 12px;
}

.kpri-help-hero-card strong {
  font-size: 1.05rem;
  color: #111;
}

.kpri-help-hero-card span {
  color: #667085;
  margin-top: 4px;
}

.kpri-help-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}

.kpri-help-kpi {
  background: #fff;
  border: 1px solid #c7c7c7;
  border-radius: 4px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, .08);
  padding: 11px 13px;
  min-height: 74px;
  display: grid;
  grid-template-columns: 38px 1fr;
  column-gap: 10px;
  align-items: center;
}

.kpri-help-kpi i {
  grid-row: 1 / span 2;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #eff6ff;
  color: #1768e5;
  font-size: 1.2rem;
}

.kpri-help-kpi span {
  color: #777;
  font-size: .82rem;
  line-height: 1;
}

.kpri-help-kpi strong {
  color: #111;
  font-size: 1.04rem;
  line-height: 1.1;
}

.kpri-help-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.kpri-help-nav {
  position: sticky;
  top: 10px;
  border-radius: 4px !important;
  box-shadow: none !important;
  border-color: #c8c8c8 !important;
  padding: 10px !important;
}

.kpri-help-nav-title {
  font-weight: 800;
  color: #333;
  border-bottom: 1px solid #ddd;
  padding: 4px 2px 10px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 7px;
}

.kpri-help-nav button {
  width: 100%;
  border: 1px solid transparent;
  background: transparent;
  color: #333;
  border-radius: 4px;
  padding: 9px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: left;
  font-weight: 600;
  margin-bottom: 4px;
}

.kpri-help-nav button:hover,
.kpri-help-nav button.active {
  background: #e7f0ff;
  color: #1768e5;
  border-color: #cfe0ff;
}

.kpri-help-check {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  border-top: 1px solid #e1e1e1;
  margin-top: 9px;
  padding-top: 10px;
  font-size: .82rem;
  color: #667085;
}

.kpri-help-check input {
  margin-top: 3px;
}

.kpri-help-main {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.kpri-help-section {
  border-radius: 4px !important;
  border-color: #c8c8c8 !important;
  box-shadow: none !important;
}

.kpri-help-flow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.kpri-help-flow-card {
  border: 1px solid #d7d7d7;
  border-radius: 4px;
  background: #fff;
  padding: 12px 13px;
  position: relative;
  min-height: 170px;
}

.kpri-help-flow-number {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #e83466;
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 850;
  margin-bottom: 8px;
}

.kpri-help-flow-card h6 {
  font-size: .98rem;
  font-weight: 800;
  margin-bottom: 8px;
  color: #111;
}

.kpri-help-flow-card ol {
  margin: 0;
  padding-left: 18px;
  color: #4d5d73;
  font-size: .88rem;
  line-height: 1.55;
}

.kpri-help-menu-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 10px;
}

.kpri-help-menu-card {
  min-height: 156px;
  border: 1px solid #6ab0d0;
  background: #d8eefc;
  border-radius: 6px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, .1);
  text-align: center;
  padding: 12px;
  color: #344;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.kpri-help-menu-card:hover {
  filter: brightness(1.02);
  transform: translateY(-1px);
}

.kpri-help-menu-card i {
  color: #147da9;
  font-size: 2rem;
  margin-bottom: 2px;
}

.kpri-help-menu-card span {
  background: rgba(255, 255, 255, .7);
  color: #1768e5;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: .72rem;
  font-weight: 800;
}

.kpri-help-menu-card strong {
  font-size: .98rem;
  color: #222;
}

.kpri-help-menu-card small {
  color: #526174;
  line-height: 1.35;
}

.kpri-help-quick-list .setup-item {
  background: #fff;
}

.kpri-help-quick-list .btn {
  min-width: 46px;
  width: 46px;
  height: 34px;
  padding: 0;
  display: inline-grid;
  place-items: center;
}

.kpri-help-faq-list {
  display: grid;
  gap: 8px;
}

.kpri-help-faq-list details {
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
}

.kpri-help-faq-list summary {
  cursor: pointer;
  padding: 11px 13px;
  font-weight: 800;
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
}

.kpri-help-faq-list summary::marker {
  display: none;
  content: "";
}

.kpri-help-faq-list p {
  border-top: 1px solid #eee;
  margin: 0;
  padding: 11px 13px;
  color: #5f6f83;
  line-height: 1.55;
}

@media(max-width:1100px) {

  .kpri-help-hero,
  .kpri-help-layout {
    grid-template-columns: 1fr;
  }

  .kpri-help-nav {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
  }

  .kpri-help-nav-title,
  .kpri-help-check {
    width: 100%;
  }

  .kpri-help-nav button {
    width: auto;
    margin-bottom: 0;
  }

  .kpri-help-flow-grid,
  .kpri-help-menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:700px) {
  .kpri-help-page {
    padding: 8px;
  }

  .kpri-help-kpi-grid,
  .kpri-help-flow-grid,
  .kpri-help-menu-grid {
    grid-template-columns: 1fr;
  }

  .kpri-help-hero h1 {
    font-size: 1.28rem;
  }
}

/* Fix Bantuan/Panduan scroll inside Accurate workspace iframe */
body.kpri-help-body,
.embed-body.kpri-help-body {
  overflow: auto !important;
  height: auto !important;
  min-height: 100vh !important;
}

body.kpri-help-body .embed-content,
.embed-body.kpri-help-body .embed-content {
  height: auto !important;
  min-height: 100vh !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 0 14px !important;
}

body.kpri-help-body .kpri-help-page,
.embed-body.kpri-help-body .kpri-help-page {
  min-height: 100vh !important;
  overflow: visible !important;
  padding-bottom: 26px !important;
}

body.kpri-help-body .kpri-help-nav,
.embed-body.kpri-help-body .kpri-help-nav {
  top: 10px !important;
}

@media(max-width:1100px) {

  body.kpri-help-body .kpri-help-nav,
  .embed-body.kpri-help-body .kpri-help-nav {
    position: static !important;
  }
}

/* Pusat Import Data */
.import-center-page {
  min-height: calc(100vh - 8px);
}

.import-center-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-radius: 4px !important;
  margin-bottom: 10px;
}

.import-center-hero h2 {
  font-size: 1.28rem;
  font-weight: 800;
  color: #1f2933;
}

.import-center-status {
  min-width: 210px;
  border: 1px solid #cde7d8;
  background: #f0fbf4;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px 14px;
  border-radius: 4px;
}

.import-center-status i {
  width: 38px;
  height: 38px;
  border-radius: 4px;
  background: #dff6e8;
  color: #198754;
  display: grid;
  place-items: center;
  font-size: 1.2rem;
}

.import-center-status strong,
.import-center-status span {
  display: block;
  line-height: 1.2;
}

.import-center-status span {
  color: #5f6f83;
  font-size: .86rem;
}

.import-center-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}

.import-center-card {
  position: relative;
  min-height: 176px;
  border: 1px solid #c7c7c7;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, .11);
  padding: 14px 13px 38px;
  color: #253246;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
}

.import-center-card:hover {
  color: #111;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .13);
}

.import-center-card:before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #1768e5;
}

.import-center-blue:before {
  background: #1768e5;
}

.import-center-green:before {
  background: #58bc2f;
}

.import-center-cyan:before {
  background: #0aa6a6;
}

.import-center-orange:before {
  background: #f59e0b;
}

.import-center-icon {
  width: 44px;
  height: 44px;
  border-radius: 4px;
  display: grid;
  place-items: center;
  background: #edf5ff;
  color: #1768e5;
  font-size: 1.4rem;
}

.import-center-green .import-center-icon {
  background: #edfbea;
  color: #3a9f20;
}

.import-center-cyan .import-center-icon {
  background: #e8f8fa;
  color: #0a8fa0;
}

.import-center-orange .import-center-icon {
  background: #fff4df;
  color: #b76b00;
}

.import-center-copy h3 {
  font-size: 1rem;
  font-weight: 850;
  margin: 0 0 6px;
}

.import-center-copy p {
  color: #5f6f83;
  margin: 0;
  font-size: .86rem;
  line-height: 1.45;
}

.import-center-copy small {
  display: block;
  color: #7b8797;
  margin-top: 8px;
  line-height: 1.35;
}


.import-center-actions {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.import-center-actions .btn {
  border-radius: 3px;
  min-width: 84px;
}

.import-center-arrow {
  position: absolute;
  right: 13px;
  bottom: 12px;
  color: #7f8ea3;
}

.import-center-warning {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border-radius: 4px !important;
  margin-bottom: 10px;
}

.import-center-warning-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 4px;
  display: grid;
  place-items: center;
  background: #fff4df;
  color: #b76b00;
  font-size: 1.22rem;
}

.import-center-table-card {
  border-radius: 4px !important;
}

.import-center-history-wrap {
  min-height: 160px;
  max-height: 260px;
}

.import-legacy-form {
  min-height: 0;
}

.import-legacy-form .accurate-grid-wrap {
  max-height: 340px;
}

@media(max-width:1200px) {
  .import-center-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:720px) {

  .import-center-hero,
  .import-center-warning {
    flex-direction: column;
  }

  .import-center-status {
    width: 100%;
    min-width: 0;
  }

  .import-center-grid {
    grid-template-columns: 1fr;
  }
}

/* Fix Pusat Import Data scroll inside Accurate workspace iframe */
body.import-center-body,
.embed-body.import-center-body,
body:has(.import-center-page) {
  overflow: auto !important;
  height: auto !important;
  min-height: 100vh !important;
}

body.import-center-body .embed-content,
.embed-body.import-center-body .embed-content,
body:has(.import-center-page) .embed-content {
  height: auto !important;
  min-height: 100vh !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 0 16px !important;
}

.embed-body.import-center-body .accurate-list-page.import-center-page,
body:has(.import-center-page) .accurate-list-page.import-center-page {
  display: block !important;
  height: auto !important;
  min-height: 100vh !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 0 18px !important;
}

.embed-body.import-center-body .import-center-history-wrap,
body:has(.import-center-page) .import-center-history-wrap,
.embed-body.import-center-body .import-legacy-form .accurate-grid-wrap,
body:has(.import-center-page) .import-legacy-form .accurate-grid-wrap {
  overflow: auto !important;
}

.embed-body.import-center-body .import-legacy-form,
body:has(.import-center-page) .import-legacy-form {
  display: block !important;
  height: auto !important;
  max-height: none !important;
}


/* =========================================================
   CSS dipindahkan dari <style> inline view agar mudah dirawat
   ========================================================= */


/* ===== Moved from app/Views/akuntansi/akun_form.php ===== */
.akun-form-dinamis-v6 [hidden] {
  display: none !important;
}

.akun-form-dinamis-v6 .akun-native-select.searchable-select-source+.searchable-select {
  display: none !important;
}

/* ===== End app/Views/akuntansi/akun_form.php ===== */


/* ===== Moved from app/Views/akuntansi/buku_besar.php ===== */
.akuntansi-adjust-page .akuntansi-summary-strip {
  grid-template-columns: repeat(5, minmax(0, 1fr))
}

.akuntansi-status-note {
  display: flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 12px;
  margin: 0 0 8px;
  border: 1px solid #dbe7f3;
  border-radius: 10px;
  background: #f8fbff;
  color: #475569;
  font-size: 12px
}

.akuntansi-status-badge {
  font-size: 11px
}

.akuntansi-scroll-area {
  max-height: calc(100vh - 330px);
  overflow: auto
}

.akuntansi-scroll-area thead th {
  position: sticky;
  top: 0;
  z-index: 4
}

.akuntansi-scroll-area tfoot th,
.akuntansi-scroll-area tfoot td {
  position: sticky;
  bottom: 0;
  z-index: 3
}

.akun-filter-select {
  min-width: 260px
}

@media(max-width:1100px) {
  .akuntansi-adjust-page .akuntansi-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

/* ===== End app/Views/akuntansi/buku_besar.php ===== */


/* ===== Moved from app/Views/akuntansi/index.php ===== */
.akuntansi-adjust-page .akuntansi-summary-strip {
  grid-template-columns: repeat(5, minmax(0, 1fr))
}

.akuntansi-status-note {
  display: flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 12px;
  margin: 0 0 8px;
  border: 1px solid #dbe7f3;
  border-radius: 10px;
  background: #f8fbff;
  color: #475569;
  font-size: 12px
}

.akuntansi-status-badge {
  font-size: 11px
}

.akuntansi-scroll-area {
  max-height: calc(100vh - 285px);
  overflow: auto
}

.akuntansi-scroll-area thead th {
  position: sticky;
  top: 0;
  z-index: 4
}

.akuntansi-scroll-area tfoot th,
.akuntansi-scroll-area tfoot td {
  position: sticky;
  bottom: 0;
  z-index: 3
}

.kas-bank-grid-table .kas-jurnal-lines {
  font-size: 12px;
  line-height: 1.45;
  color: #334155;
  min-width: 190px
}

.kas-bank-grid-table .akun-pasangan-lines {
  font-weight: 600
}

.kas-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap
}

.kas-badge-success {
  background: #dcfce7;
  color: #166534
}

.kas-badge-danger {
  background: #fee2e2;
  color: #991b1b
}

.kas-bank-grid-table td {
  vertical-align: top
}

@media(max-width:1100px) {
  .akuntansi-adjust-page .akuntansi-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

/* ===== End app/Views/akuntansi/index.php ===== */


/* ===== Moved from app/Views/akuntansi/jurnal_umum.php ===== */
.jurnal-umum-rapi-page {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden
}

.jurnal-umum-rapi-page .jurnal-summary-strip {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  flex: 0 0 auto
}

.jurnal-umum-rapi-page .jurnal-main-tabs,
.jurnal-umum-rapi-page .accurate-list-toolbar {
  flex: 0 0 auto
}

.akuntansi-status-badge {
  font-size: 11px;
  white-space: nowrap
}

.jurnal-umum-rapi-page .akuntansi-scroll-area {
  flex: 1 1 auto;
  min-height: 260px;
  overflow: auto !important
}

.jurnal-list-table {
  min-width: 1040px
}

.jurnal-umum-rapi-page .akuntansi-scroll-area thead th {
  position: sticky;
  top: 0;
  z-index: 8
}

.jurnal-umum-rapi-page .akuntansi-scroll-area tfoot th,
.jurnal-umum-rapi-page .akuntansi-scroll-area tfoot td {
  position: sticky;
  bottom: 0;
  z-index: 7
}

.jurnal-entry-form {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
  max-width: none
}

.jurnal-data-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto !important;
  background: #fff;
  /* padding-bottom: 10px */
}

.jurnal-form-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  border-bottom: 1px solid #d5e0e8;
  background: #f8fbfd
}

.jurnal-form-title {
  font-weight: 800;
  color: #263b4d;
  font-size: 14px
}

.jurnal-form-subtitle {
  font-size: 12px;
  color: #697d8e
}

.jurnal-form-grid-clean {
  display: grid;
  grid-template-columns: 220px 180px minmax(320px, 1fr);
  gap: 10px;
  align-items: start;
  padding: 9px 12px;
  background: #fff;
  border-bottom: 1px solid #e1e8ee
}

.jurnal-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0
}

.jurnal-field label {
  font-size: 12px;
  font-weight: 700;
  color: #334e63;
  margin: 0;
  line-height: 1.2;
  white-space: nowrap
}

.jurnal-field .form-control {
  width: 100%;
  height: 34px;
  min-height: 34px;
  box-sizing: border-box
}

.jurnal-keterangan-field textarea {
  height: 34px;
  min-height: 34px;
  line-height: 20px;
  resize: vertical;
  overflow: auto
}

.jurnal-detail-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 12px;
  font-weight: 700;
  color: #2d465a;
  border-bottom: 1px solid #d5e0e8;
  background: #fff
}

.jurnal-detail-title small {
  font-weight: 500;
  color: #718393
}

.jurnal-detail-scroll {
  min-height: 300px;
  overflow: auto !important
}

.jurnal-detail-table {
  min-width: 820px
}

.jurnal-detail-table thead th {
  position: sticky;
  top: 0;
  z-index: 8
}

.jurnal-detail-table select {
  min-width: 380px
}

.jurnal-money-input {
  font-variant-numeric: tabular-nums
}

.jurnal-save-bar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #d5e0e8;
  background: #f8fbfd;
  box-shadow: 0 -2px 8px rgba(15, 23, 42, .08);
  width: 90%;
}

.jurnal-total-row {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  color: #425466;
  font-size: 13px
}

.jurnal-total-row strong {
  font-size: 14px;
  color: #111827
}

.jurnal-selisih-ok {
  color: #16803a !important
}

.jurnal-selisih-bad {
  color: #b42318 !important
}

@media(max-width:1100px) {
  .jurnal-umum-rapi-page .jurnal-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .jurnal-form-grid-clean {
    grid-template-columns: 1fr
  }

  .jurnal-detail-title {
    align-items: flex-start;
    flex-direction: column
  }

  .jurnal-form-head {
    align-items: flex-start;
    flex-direction: column
  }

  .jurnal-save-bar {
    align-items: flex-start;
    flex-direction: column
  }

  .jurnal-save-bar .btn {
    width: 100%
  }
}

@media print {
  .jurnal-umum-rapi-page {
    height: auto;
    overflow: visible
  }

  .jurnal-umum-rapi-page .akuntansi-scroll-area,
  .jurnal-data-scroll,
  .jurnal-detail-scroll {
    overflow: visible !important;
    max-height: none !important
  }

  .jurnal-list-table,
  .jurnal-detail-table {
    min-width: 0;
    width: 100%
  }

  .jurnal-save-bar {
    display: none !important
  }
}

/* V169 - paksa area Detail Jurnal memakai scroll sendiri, tahan dari override CSS global */
.embed-body .jurnal-umum-rapi-page,
.embed-body .jurnal-umum-page.jurnal-umum-rapi-page {
  height: calc(100vh - 8px) !important;
  max-height: calc(100vh - 8px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding-bottom: 0 !important;
}

.embed-body .jurnal-umum-rapi-page .akuntansi-module-tabs,
.embed-body .jurnal-umum-rapi-page .jurnal-main-tabs,
.embed-body .jurnal-umum-rapi-page .jurnal-form-head,
.embed-body .jurnal-umum-rapi-page .jurnal-form-grid-clean,
.embed-body .jurnal-umum-rapi-page .jurnal-detail-title,
.embed-body .jurnal-umum-rapi-page .jurnal-save-bar {
  flex: 0 0 auto !important;
}

.embed-body .jurnal-umum-rapi-page .jurnal-entry-form {
  flex: 1 1 auto !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
}

.embed-body .jurnal-umum-rapi-page .jurnal-data-scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  width: 90%;
  border: 1px solid #d5e0e8;
}

.embed-body .jurnal-umum-rapi-page .jurnal-detail-scroll {
  flex: 1 1 auto !important;
  min-height: 170px !important;
  height: 260px;
  max-height: none !important;
  overflow: auto !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  background: #fff !important;
  border-bottom: 1px solid #d6d6d6 !important;
  scrollbar-width: thin !important;
}

.embed-body .jurnal-umum-rapi-page .jurnal-detail-table {
  min-width: 820px !important;
  margin: 0 !important;
}

.embed-body .jurnal-umum-rapi-page .jurnal-detail-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 15 !important;
}

@media(max-width:900px) {
  .embed-body .jurnal-umum-rapi-page .jurnal-detail-scroll {
    height: 240px !important;
    min-height: 220px !important
  }
}

/* ===== End app/Views/akuntansi/jurnal_umum.php ===== */


/* ===== Moved from app/Views/akuntansi/kas_form.php ===== */
.kas-bank-entry-page {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.kas-bank-entry-page .accurate-entry-form {
  height: calc(100% - 44px);
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  max-width: none;
}

.kas-bank-entry-page .entry-panel {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

.kas-bank-entry-page .entry-form-toolbar {
  z-index: 30;
}

.kas-bank-entry-page .kas-entry-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid #dbe7f3;
  background: #f8fbff;
  color: #475569;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 12px;
  margin-bottom: 14px;
}

.kas-bank-entry-page .kas-entry-note i {
  color: #0d6efd;
  font-size: 16px;
  margin-top: 1px;
}

.kas-bank-entry-page .kas-entry-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.kas-bank-entry-page .kas-preview-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
}

.kas-bank-entry-page .kas-preview-card {
  border: 1px solid #dbe4f0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
  overflow: hidden;
}

.kas-bank-entry-page .kas-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.kas-bank-entry-page .kas-preview-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #0f172a;
}

.kas-bank-entry-page .kas-preview-label.debit i {
  color: #198754;
}

.kas-bank-entry-page .kas-preview-label.kredit i {
  color: #dc3545;
}

.kas-bank-entry-page .kas-preview-body {
  padding: 14px;
}

.kas-bank-entry-page .kas-preview-account {
  min-height: 42px;
  font-size: 13px;
  font-weight: 700;
  color: #111827;
  line-height: 1.45;
}

.kas-bank-entry-page .kas-preview-nominal {
  margin-top: 10px;
  font-size: 16px;
  font-weight: 800;
  color: #0f172a;
}

.kas-bank-entry-page .kas-preview-help {
  margin-top: 14px;
  color: #64748b;
  font-size: 12px;
}

.kas-bank-entry-page .kas-form-alert {
  margin-top: 10px;
}

@media (max-width:992px) {

  .kas-bank-entry-page .kas-entry-grid,
  .kas-bank-entry-page .kas-preview-wrap {
    grid-template-columns: 1fr;
  }
}

/* ===== End app/Views/akuntansi/kas_form.php ===== */


/* ===== Moved from app/Views/akuntansi/neraca_saldo.php ===== */
.akuntansi-adjust-page .akuntansi-summary-strip {
  grid-template-columns: repeat(5, minmax(0, 1fr))
}

.akuntansi-status-note {
  display: flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 12px;
  margin: 0 0 8px;
  border: 1px solid #dbe7f3;
  border-radius: 10px;
  background: #f8fbff;
  color: #475569;
  font-size: 12px
}

.akuntansi-status-badge {
  font-size: 11px
}

.akuntansi-scroll-area {
  max-height: calc(100vh - 330px);
  overflow: auto
}

.akuntansi-scroll-area thead th {
  position: sticky;
  top: 0;
  z-index: 4
}

.akuntansi-scroll-area tfoot th,
.akuntansi-scroll-area tfoot td {
  position: sticky;
  bottom: 0;
  z-index: 3
}

.akun-shu-row td {
  background: #fff7ed !important
}

@media(max-width:1100px) {
  .akuntansi-adjust-page .akuntansi-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

/* ===== End app/Views/akuntansi/neraca_saldo.php ===== */


/* ===== Moved from app/Views/anggota/index.php ===== */
.accurate-grid-table tbody tr.anggota-row-nonaktif td {
  background: #fff7ed;
}

.accurate-grid-table tbody tr.anggota-row-status-pasif td {
  background: #fff8e1;
}

.accurate-grid-table tbody tr.anggota-row-status-keluar td,
.accurate-grid-table tbody tr.anggota-row-status-pensiun td {
  background: #f8fafc;
}

.accurate-grid-table tbody tr.anggota-row-status-meninggal td {
  background: #fff1f2;
}

.accurate-grid-table tbody tr.anggota-row-nonaktif td:first-child {
  box-shadow: inset 4px 0 0 #f59e0b;
}

.accurate-grid-table tbody tr.anggota-row-status-keluar td:first-child,
.accurate-grid-table tbody tr.anggota-row-status-pensiun td:first-child {
  box-shadow: inset 4px 0 0 #94a3b8;
}

.accurate-grid-table tbody tr.anggota-row-status-meninggal td:first-child {
  box-shadow: inset 4px 0 0 #ef4444;
}

.anggota-identity-cell strong {
  display: block;
  line-height: 1.2;
}

.anggota-identity-cell small {
  color: #64748b;
}

.anggota-action-icons .btn {
  width: 32px;
  height: 30px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ===== End app/Views/anggota/index.php ===== */


/* ===== Moved from app/Views/dashboard/index.php ===== */
.dashboard-v155 {
  height: calc(100vh - 98px);
  min-height: 560px;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  overflow: hidden;
  /* padding: .35rem 0 */
}

.dash-topbar {
  padding: .6rem .75rem
}

.dash-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem
}

.dash-title {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-width: 0
}

.dash-title-icon {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #e7f0ff;
  color: #1768e5;
  display: grid;
  place-items: center;
  font-size: 1.1rem;
  flex: 0 0 auto
}

.dash-title b {
  margin: 0;
  font-weight: 850;
  letter-spacing: -.02em;
  font-size: 1rem
}

.dash-title p {
  margin: .08rem 0 0;
  color: var(--muted);
  font-size: .76rem
}

.dash-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .35rem;
  flex-wrap: wrap
}

.dash-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 5px;
  padding: .42rem .6rem;
  font-size: .76rem;
  font-weight: 750;
  color: #4d5d73;
  white-space: nowrap
}

.dash-chip.active-year {
  background: #058c16;
  color: #fff;
  border-color: #058c16
}

.dash-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .35rem
}

.dash-kpi {
  padding: .6rem .62rem;
  min-height: 82px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0
}

.dash-kpi-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .35rem;
  min-width: 0
}

.dash-kpi-icon {
  width: 30px;
  height: 30px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: .9rem;
  flex: 0 0 auto
}

.dash-kpi small {
  color: var(--muted);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.dash-kpi strong {
  font-size: .95rem;
  line-height: 1.1;
  letter-spacing: -.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.dash-kpi span {
  font-size: .7rem;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.dash-kpi.primary .dash-kpi-icon {
  background: #e7f0ff;
  color: #1768e5
}

.dash-kpi.success .dash-kpi-icon {
  background: #e8f8ee;
  color: #198754
}

.dash-kpi.warning .dash-kpi-icon {
  background: #fff4df;
  color: #b76b00
}

.dash-kpi.info .dash-kpi-icon {
  background: #e8f8fa;
  color: #0aa6a6
}

.dash-kpi.danger .dash-kpi-icon {
  background: #ffe9eb;
  color: #dc3545
}

.dash-kpi.purple .dash-kpi-icon {
  background: #f0e9ff;
  color: #6f42c1
}

.dash-main-grid {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1.02fr) minmax(250px, .72fr);
  gap: .35rem
}

.dash-col {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: .35rem
}

.dash-card {
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: .65rem
}

.dash-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .55rem;
  margin-bottom: .48rem
}

.dash-card-head b {
  font-size: .93rem;
  margin: 0;
  font-weight: 850
}

.dash-card-head span,
.dash-card-head small {
  color: var(--muted);
  font-size: .74rem
}

.dash-chart-card {
  height: 100%
}

.dash-chart-wrap {
  position: relative;
  flex: 1;
  min-height: 0;
  border-radius: 12px;
  background: linear-gradient(180deg, #fff, #fbfdff);
  overflow: hidden;
  border: 1px solid #edf2f7
}

.dash-chart-svg {
  width: 100%;
  height: 100%;
  min-height: 260px;
  display: block
}

.dash-chart-grid {
  stroke: #e6edf5;
  stroke-width: 1
}

.dash-chart-axis {
  stroke: #cfd8e3;
  stroke-width: 1
}

.dash-chart-label {
  fill: #718096;
  font-size: 11px
}

.dash-chart-month {
  fill: #718096;
  font-size: 10px;
  font-weight: 700
}

.dash-cash-bar {
  stroke: rgba(15, 23, 42, .08);
  stroke-width: 1
}

.dash-cash-in {
  fill: #16a34a
}

.dash-cash-out {
  fill: #ef4444
}

.dash-chart-empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #718096;
  font-size: .8rem;
  pointer-events: none
}

.dash-chart-legend {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
  margin-top: .35rem;
  font-size: .72rem;
  color: #5f6f83;
  justify-content: space-between
}

.dash-chart-hint {
  font-size: .72rem;
  color: #718096;
  line-height: 1.35;
  margin-top: .28rem
}

.dash-legend-dot {
  width: .6rem;
  height: .6rem;
  border-radius: 999px;
  display: inline-block;
  margin-right: .28rem
}

.dash-legend-dot.cash-in {
  background: #16a34a
}

.dash-legend-dot.cash-out {
  background: #ef4444
}

.dash-legend-dot.portfolio-kas {
  background: #2563eb
}

.dash-legend-dot.portfolio-simpanan {
  background: #16a34a
}

.dash-legend-dot.portfolio-pinjaman {
  background: #f59e0b
}

.dash-legend-dot.portfolio-tagihan {
  background: #06b6d4
}

.dash-cash-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .35rem;
  margin-top: .45rem
}

.dash-cash-mini {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: .46rem .55rem;
  background: #fff;
  min-width: 0
}

.dash-cash-mini span {
  display: block;
  color: var(--muted);
  font-size: .69rem;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.dash-cash-mini strong {
  display: block;
  margin-top: .12rem;
  font-size: .78rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.dash-cash-mini.ok strong {
  color: #15803d
}

.dash-cash-mini.minus strong {
  color: #dc2626
}

.dash-portfolio {
  display: grid;
  grid-template-columns: 122px 1fr;
  gap: .58rem;
  align-items: center;
  min-height: 0
}

.dash-donut {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  background: #e5e7eb;
  position: relative;
  margin: auto;
  box-shadow: inset 0 0 0 1px #edf2f7
}

.dash-donut:after {
  content: "";
  position: absolute;
  inset: 27px;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 1px #eef2f7
}

.dash-donut-center {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  text-align: center;
  z-index: 1;
  font-weight: 900;
  font-size: .75rem;
  color: #0f172a
}

.dash-donut-center small {
  display: block;
  color: #718096;
  font-size: .62rem;
  font-weight: 700
}

.dash-health {
  display: grid;
  gap: .35rem
}

.dash-health-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .55rem;
  border-bottom: 1px solid var(--line);
  padding-bottom: .34rem
}

.dash-health-row:last-child {
  border-bottom: 0;
  padding-bottom: 0
}

.dash-health-row span {
  font-size: .74rem;
  color: var(--muted)
}

.dash-health-row strong {
  font-size: .8rem;
  white-space: nowrap
}

.dash-portfolio-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .45rem
}

.dash-portfolio-row span {
  font-size: .72rem;
  color: #5f6f83
}

.dash-portfolio-row strong {
  font-size: .74rem
}

.dash-tabs-card {
  flex: 1;
  min-height: 0
}

.dash-tabs {
  display: flex;
  gap: .25rem;
  border-bottom: 1px solid var(--line);
  margin: -.05rem 0 .45rem 0
}

.dash-tabs .nav-link {
  border: 0;
  border-radius: 10px 10px 0 0;
  color: #000;
  font-size: .74rem;
  font-weight: 600;
  padding: .42rem .52rem;
  white-space: nowrap
}

.dash-tabs .nav-link.active {
  background: #eff6ff;
  color: #1768e5
}

.dash-tab-scroll {
  overflow: auto;
  min-height: 0;
  padding-right: .2rem;
  scrollbar-width: thin;
}

.dash-list {
  display: grid;
  gap: .12rem
}

.dash-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .55rem;
  padding: .38rem 0;
  border-bottom: 1px solid var(--line)
}

.dash-list-row:last-child {
  border-bottom: 0
}

.dash-list-row span {
  font-size: .76rem;
  color: #5f6f83
}

.dash-list-row strong {
  font-size: .78rem;
  white-space: nowrap
}

.dash-list-row small {
  display: block;
  color: var(--muted);
  font-size: .66rem
}

.dash-status-dot {
  width: .5rem;
  height: .5rem;
  border-radius: 999px;
  background: #198754;
  display: inline-block;
  margin-right: .32rem
}

.dash-status-dot.warn {
  background: #ffc107
}

.dash-status-dot.danger {
  background: #dc3545
}

.dash-actions {
  height: 100%;
  display: grid;
  grid-template-rows: repeat(5, minmax(55px, 1fr)) auto;
  gap: .35rem
}

.dash-action {
  position: relative;
  padding: .62rem;
  display: flex;
  align-items: center;
  gap: .55rem;
  min-height: 58px
}

.dash-action i {
  width: 34px;
  height: 34px;
  border-radius: 13px;
  background: #eff6ff;
  color: #1768e5;
  display: grid;
  place-items: center;
  flex: 0 0 auto
}

.dash-action strong {
  font-size: .8rem;
  display: block
}

.dash-action span {
  font-size: .7rem;
  color: var(--muted)
}

.dash-wa {
  padding: .62rem
}

.dash-wa .dash-card-head {
  margin-bottom: 0
}

.dash-wa .dash-list-row span {
  font-size: .72rem
}

.dash-wa .dash-list-row strong {
  font-size: .72rem
}

@media(max-width:1199.98px) {
  .dashboard-v155 {
    height: auto;
    overflow: visible
  }

  .dash-main-grid {
    grid-template-columns: 1fr
  }

  .dash-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .dash-chart-card {
    height: 420px
  }

  .dash-actions {
    grid-template-rows: none;
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

@media(max-width:767.98px) {
  .dash-title-row {
    align-items: flex-start;
    flex-direction: column
  }

  .dash-toolbar {
    justify-content: flex-start
  }

  .dash-kpi-grid,
  .dash-actions,
  .dash-cash-summary {
    grid-template-columns: 1fr
  }

  .dash-portfolio {
    grid-template-columns: 1fr
  }

  .dash-chart-card {
    height: 380px
  }

  .dash-main-grid {
    gap: .5rem
  }

  .dash-chart-legend {
    justify-content: flex-start
  }

  .dashboard-v155 {
    min-height: 0;
    padding: .35rem 0 4rem
  }
}

/* ===== End app/Views/dashboard/index.php ===== */


/* ===== Moved from app/Views/pengaturan/index.php ===== */
.setting-workspace {
  min-height: calc(100vh - 60px)
}

.setting-titlebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px
}

.setting-titlebar h1 {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  color: #2b2b2b
}

.setting-titlebar .hint {
  font-size: 12px;
  color: #666
}

.setting-panel {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 10px;
  align-items: start
}

.setting-side {
  background: #d1d1d1;
  border: 1px solid #aaa;
  min-height: 430px;
  padding: 0
}

.setting-side .nav-link {
  width: 100%;
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #aaa;
  background: #d1d1d1;
  color: #555;
  text-align: right;
  padding: 11px 14px;
  font-size: 14px;
  min-height: 41px
}

.setting-side .nav-link:hover {
  background: #c5c5c5;
  color: #222
}

.setting-side .nav-link.active {
  background: #f7f7f7;
  color: #111;
  font-weight: 600;
  border-right: 3px solid #d6336c
}

.setting-content {
  background: unset;

  min-height: 430px;
  position: relative;
  border-top: 0px;
}

.setting-content .tab-content {
  padding: 0;
  border: 1px solid #aaa;
}

.setting-inner-tabs {
  display: flex;
  gap: 5px;
  border-bottom: 0px solid #bbb;
  background: unset;
  padding: 0 8px
}

.setting-inner-tabs .nav-link {
  border: 1px solid #aaa;
  border-bottom: 0;
  border-radius: 3px 3px 0 0;
  background: #d0d0d0;
  color: #555;
  padding: 8px 16px;
  margin-top: 0px
}

.setting-inner-tabs .nav-link.active {
  background: #f7f7f7;
  color: #111;
  font-weight: 600
}

.setting-field-area {
  padding: 14px 14px 22px;
  max-width: 100%
}

.setting-form-row {
  display: grid;
  grid-template-columns: 170px minmax(220px, 550px) minmax(160px, 1fr);
  align-items: start;
  gap: 10px;
  margin-bottom: 10px
}

.setting-form-row label {
  padding-top: 7px;
  font-size: 14px;
  color: #222
}

.setting-form-row .form-control,
.setting-form-row .form-select {
  height: 34px;
  border-radius: 3px;
  border-color: #b8b8b8;
  font-size: 14px
}

.setting-form-row textarea.form-control {
  height: auto;
  min-height: 74px
}

.setting-form-help {
  font-size: 12px;
  color: #666;
  line-height: 1.35;
  padding-top: 6px
}

.setting-section-title {
  font-weight: 700;
  font-size: 14px;
  margin: 4px 0 12px;
  color: #333
}

.setting-logo-box {
  width: 118px;
  height: 118px;
  border: 1px solid #bbb;
  background: white;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}

.setting-logo-box img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain
}

.setting-form.accurate-entry-form {
  display: block !important;
  overflow: visible !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  min-height: 0 !important
}

.embed-body .setting-form.accurate-entry-form {
  display: block !important;
  overflow: visible !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important
}

.setting-savebar {
  position: fixed;
  left: 55px;
  right: 0;
  bottom: 0;
  z-index: 1050;
  background: #e9e9e9;
  border-top: 1px solid #bbb;
  padding: 10px 14px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, .08)
}

.embed-body .setting-savebar {
  left: 0 !important
}

body.sidebar-collapsed .setting-savebar {
  left: 55px
}

.setting-savebar .btn-save {
  min-width: 126px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600
}

.setting-savebar .btn-help {
  width: 58px;
  min-width: 58px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffb000;
  border-color: #ffb000;
  color: #fff;
  font-size: 18px
}

.setting-savebar .btn-help:hover {
  background: #f2a500;
  border-color: #f2a500;
  color: #fff
}

.kop-preview-box {
  background: #fff;
  border: 1px solid #bbb;
  border-radius: 4px;
  padding: 10px 12px;
  min-height: 104px;
  color: #111;
  max-width: 680px
}

.kop-letterhead {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border-bottom: 4px solid #000;
  padding: 0 0 5px;
  min-height: 86px
}

.kop-logo-preview {
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}

.kop-logo-preview img {
  max-width: 70px;
  max-height: 70px;
  object-fit: contain
}

.kop-logo-preview .logo-empty {
  width: 62px;
  height: 62px;
  border: 1px dashed #aaa;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #777;
  font-size: 22px
}

.kop-letter-text {
  line-height: 1.08;
  color: #000
}

.kop-line {
  display: block;
  margin: 0;
  padding: 0
}

.kop-name {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: .2px;
  line-height: 1.05
}

.kop-sub {
  font-size: 14px;
  font-weight: 700;
  margin-top: 1px
}

.kop-address,
.kop-legal {
  font-size: 13px;
  font-weight: 800;
  margin-top: 1px
}

.kop-preview-box .kop-empty {
  color: #777;
  font-style: italic
}

.setting-modal-help .modal-header {
  background: #129bd3;
  color: #fff
}

.setting-modal-help .modal-title {
  font-size: 16px
}

.setting-modal-help ul {
  margin-bottom: 0
}

.setting-info-alert {
  background: #fff8e5;
  border: 1px solid #e7c76e;
  color: #6b5200;
  border-radius: 4px;
  padding: 8px 10px;
  font-size: 12px;
  margin-bottom: 12px
}

.address-grid {
  display: grid;
  grid-template-columns: 1fr 128px;
  gap: 8px;
  max-width: 390px
}

.address-grid .wide {
  grid-column: 1 / span 2
}

.address-row {
  display: flex;
  align-items: stretch
}

.address-addon {
  min-width: 64px;
  border: 1px solid #b8b8b8;
  border-right: 0;
  background: #e9e9e9;
  color: #666;
  font-size: 13px;
  display: flex;
  align-items: center;
  padding: 0 9px;
  border-radius: 3px 0 0 3px
}

.address-row .form-control,
.address-row .form-select {
  border-radius: 0 3px 3px 0
}

.address-loading {
  font-size: 12px;
  color: #666;
  margin-top: 4px
}

.setting-wilayah-note {
  font-size: 12px;
  color: #666;
  line-height: 1.4;
  margin-top: 8px
}

.wilayah-city-wrap {
  position: relative
}

.wilayah-suggest {
  position: absolute;
  z-index: 1000;
  left: 64px;
  right: 0;
  top: 100%;
  background: #fff;
  border: 1px solid #b8b8b8;
  border-top: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .16);
  display: none;
  max-height: 260px;
  overflow: auto
}

.wilayah-suggest.show {
  display: block
}

.wilayah-suggest-item {
  padding: 8px 10px;
  border-bottom: 1px solid #e1e1e1;
  cursor: pointer;
  background: #fff
}

.wilayah-suggest-item:hover,
.wilayah-suggest-item.active {
  background: #eef6ff
}

.wilayah-suggest-title {
  font-size: 14px;
  color: #111;
  line-height: 1.3
}

.wilayah-suggest-sub {
  font-size: 12px;
  color: #555;
  margin-top: 2px
}

.wilayah-suggest mark {
  background: #fff200;
  color: inherit;
  padding: 0
}

.wilayah-suggest-empty {
  padding: 9px 10px;
  font-size: 12px;
  color: #666
}

@media(max-width:900px) {
  .setting-panel {
    grid-template-columns: 1fr
  }

  .setting-side {
    display: flex;
    overflow: auto;
    min-height: auto
  }

  .setting-side .nav-link {
    min-width: 150px;
    text-align: center;
    border-right: 1px solid #aaa
  }

  .setting-form-row {
    grid-template-columns: 1fr
  }

  .setting-form-row label {
    padding-top: 0
  }

  .setting-form-help {
    padding-top: 0
  }

  .setting-savebar {
    position: fixed;
    left: 0;
    right: 0;
    margin: 0
  }

  .address-grid {
    grid-template-columns: 1fr;
    max-width: none
  }

  .address-grid .wide {
    grid-column: auto
  }
}

/* ===== End app/Views/pengaturan/index.php ===== */


/* ===== Moved from app/Views/produk/index.php ===== */
.produk-tab-page.tb-ui-page {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #f4f6f8;
}

.produk-tab-page .produk-main-tabs {
  flex: 0 0 auto;
}

.produk-tab-page .produk-tab-panel {
  display: none;
  min-height: 0;
  overflow: hidden;
}

.produk-tab-page .produk-tab-panel.active {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.produk-tab-page .product-tab-trigger .inner-close {
  display: none !important;
}

.produk-tab-page .inner-data-tab.active,
.produk-tab-page .inner-list-tab.active {
  background: #fff !important;
  color: #111 !important;
  border-top-color: #e61c5d !important;
  border-bottom-color: #fff !important;
  font-weight: 700 !important;
}

.produk-tab-page .produk-overview {
  flex: 1 1 auto;
  overflow: auto;
}

.produk-tab-page .produk-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.produk-tab-page .produk-overview-card {
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  padding: 12px 14px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}

.produk-tab-page .produk-overview-card span {
  display: block;
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 6px;
}

.produk-tab-page .produk-overview-card strong {
  display: block;
  font-size: 24px;
  line-height: 1;
  color: #202124;
}

.produk-tab-page .produk-overview-card small {
  display: block;
  margin-top: 8px;
  color: #6b7280;
  font-size: 12px;
}

.produk-tab-page .produk-overview-main {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 12px;
  align-items: start;
}

.produk-tab-page .produk-overview-section {
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  overflow: hidden;
}

.produk-tab-page .produk-overview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 11px;
  background: #eef2f5;
  border-bottom: 1px solid #d9d9d9;
  font-weight: 700;
  color: #263646;
}

.produk-tab-page .produk-overview-body {
  padding: 10px 11px;
}

.produk-tab-page .produk-overview-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.produk-tab-page .produk-action-card {
  border: 1px solid #d7dde3;
  background: #fbfcfd;
  border-radius: 4px;
  padding: 12px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-height: 120px;
}

.produk-tab-page .produk-action-card .icon {
  width: 38px;
  height: 38px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e9f2ff;
  color: #0d6efd;
  font-size: 20px;
  flex: 0 0 auto;
}

.produk-tab-page .produk-action-card.pinjaman .icon {
  background: #eef9ef;
  color: #198754;
}

.produk-tab-page .produk-action-card h6 {
  margin: 0 0 4px;
  font-weight: 700;
}

.produk-tab-page .produk-action-card p {
  margin: 0 0 9px;
  color: #6b7280;
  font-size: 12.5px;
  line-height: 1.35;
}

.produk-tab-page .produk-status-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.produk-tab-page .produk-status-item {
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  padding: 8px 9px;
  background: #fff;
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 8px;
  align-items: start;
}

.produk-tab-page .produk-status-item .jenis {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: #607d94;
}

.produk-tab-page .produk-status-item .nama {
  font-weight: 700;
  color: #1f2933;
  line-height: 1.25;
}

.produk-tab-page .produk-status-item .catatan {
  font-size: 12px;
  color: #b45309;
  margin-top: 2px;
}

.produk-tab-page .produk-empty-state {
  padding: 18px;
  text-align: center;
  color: #6b7280;
}

.produk-tab-page .produk-table-toolbar {
  flex: 0 0 auto;
  border-top: 0 !important;
  margin: 0 !important;
}

.produk-tab-page .produk-table-toolbar .toolbar-search {
  width: 260px;
}

.produk-tab-page .produk-table-toolbar .toolbar-right-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.produk-tab-page .produk-table-toolbar .product-status-filter {
  width: 145px;
  flex: 0 0 145px;
}

.produk-tab-page .produk-table-toolbar .product-search-form {
  margin: 0;
}

.produk-tab-page .produk-table-toolbar .toolbar-left-actions .btn {
  width: 34px;
  height: 34px;
  border-radius: 4px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
}

.produk-tab-page .product-grid-wrap {
  flex: 1 1 auto !important;
  min-height: 180px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: auto !important;
  border-top: 1px solid #6f879a !important;
  background: #fff !important;
}

.produk-tab-page .produk-grid-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
  min-width: 1180px !important;
  margin: 0 !important;
  font-size: 14px !important;
}

.produk-tab-page .produk-pinjaman-table {
  min-width: 1380px !important;
}

.produk-tab-page .produk-grid-table thead {
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
}

.produk-tab-page .produk-grid-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 42 !important;
  background: #5f788f !important;
  color: #fff !important;
  border-right: 1px solid #8da0b2 !important;
  border-bottom: 1px solid #4f6579 !important;
  height: 34px !important;
  padding: 7px 9px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

.produk-tab-page .produk-grid-table tbody td {
  height: 44px !important;
  padding: 6px 9px !important;
  border-bottom: 1px solid #e9e9e9 !important;
  border-right: 1px dotted #d9d9d9 !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  background: inherit !important;
}

.produk-tab-page .produk-grid-table tbody tr:nth-child(odd) {
  background: #fff !important;
}

.produk-tab-page .produk-grid-table tbody tr:nth-child(even) {
  background: #f7f7f7 !important;
}

.produk-tab-page .produk-grid-table tbody tr:hover {
  background: #eef7ff !important;
}

.produk-tab-page .produk-grid-table .produk-name-cell {
  min-width: 220px;
  max-width: 280px;
  white-space: normal !important;
  line-height: 1.25;
}

.produk-tab-page .produk-grid-table .produk-account-cell {
  min-width: 230px;
  max-width: 310px;
  white-space: normal !important;
  line-height: 1.25;
}

.produk-tab-page .produk-grid-table .produk-action-cell {
  min-width: 86px;
  white-space: nowrap !important;
  text-align: center !important;
}

.produk-tab-page .produk-grid-table .produk-action-cell form {
  margin: 0;
}

.produk-tab-page .produk-action-icon {
  width: 30px !important;
  height: 28px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.produk-tab-page .product-empty-row td {
  height: 66px !important;
  color: #6b7280 !important;
}

@media (max-width:1000px) {
  .produk-tab-page .produk-overview-grid {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }

  .produk-tab-page .produk-overview-main {
    grid-template-columns: 1fr;
  }

  .produk-tab-page .produk-overview-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width:720px) {
  .produk-tab-page .produk-overview-grid {
    grid-template-columns: 1fr;
  }

  .produk-tab-page .produk-table-toolbar .toolbar-search {
    width: 170px;
  }
}

/* ===== End app/Views/produk/index.php ===== */


/* ===== Moved from app/Views/produk/simpanan_form.php ===== */
.produk-entry-page {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.produk-entry-page .accurate-entry-form {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

.produk-entry-page .entry-section-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1f2933 !important;
  margin-bottom: 12px !important;
}

.produk-entry-page .classic-field small {
  font-size: 12px;
}

.produk-entry-page .alert {
  border-radius: 4px !important;
}

.produk-entry-page .bulan-pembagian-helper {
  margin-top: 6px;
  color: #6b7280;
  font-size: 12px;
  line-height: 1.35;
}

.produk-entry-page .bulan-pembagian-helper.is-warning {
  color: #8a5a00;
}

/* ===== End app/Views/produk/simpanan_form.php ===== */


/* ===== Moved from app/Views/rat/arsip.php ===== */
.rat-arsip-workspace {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #f2f2f2
}

.rat-arsip-workspace .accurate-inner-tabs {
  flex: 0 0 auto;
  margin: -14px -14px 10px
}

.rat-arsip-workspace .inner-data-tab span:first-child {
  white-space: nowrap
}

.rat-arsip-summary {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 10px;
  margin-bottom: 10px
}

.rat-arsip-summary-card {
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 10px;
  padding: 10px 12px;
  box-shadow: 0 2px 10px rgba(15, 23, 42, .04)
}

.rat-arsip-summary-card span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 3px
}

.rat-arsip-summary-card strong {
  color: #111827;
  font-size: 18px;
  font-weight: 800
}

.rat-arsip-workspace .accurate-list-toolbar {
  flex: 0 0 auto;
  margin-bottom: 0 !important
}

.rat-arsip-toolbar .toolbar-row-action {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap
}

.rat-arsip-toolbar .toolbar-right-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 6px
}

.rat-arsip-grid {
  flex: 1 1 auto;
  min-height: 260px;
  width: 100%;
  overflow: auto;
  border-top: 1px solid #6f879a;
  background: #fff
}

.rat-arsip-table {
  width: 100%;
  min-width: 1060px;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed;
  font-size: 13px
}

.rat-arsip-table thead th {
  position: sticky;
  top: 0;
  z-index: 20;
  background: #5f788f !important;
  color: #fff !important;
  border-right: 1px solid #8da0b2 !important;
  border-bottom: 1px solid #4f6579 !important;
  height: 34px;
  padding: 7px 9px;
  font-weight: 600;
  white-space: nowrap;
  vertical-align: middle
}

.rat-arsip-table tbody td {
  height: 48px;
  padding: 6px 9px;
  border-bottom: 1px solid #e9e9e9;
  border-right: 1px dotted #d9d9d9;
  vertical-align: middle;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.rat-arsip-table tbody tr:nth-child(odd) {
  background: #fff
}

.rat-arsip-table tbody tr:nth-child(even) {
  background: #f7f7f7
}

.rat-arsip-table tbody tr:hover {
  background: #eef7ff
}

.rat-arsip-table .arsip-no {
  width: 52px;
  text-align: left !important
}

.rat-arsip-table .arsip-year {
  width: 130px
}

.rat-arsip-table .arsip-money {
  font-variant-numeric: tabular-nums;
  text-align: right
}

.rat-arsip-table .arsip-status {
  width: 145px
}

.rat-arsip-table .arsip-actions {
  width: 265px;
  text-align: center
}

.rat-arsip-table .arsip-no,
.rat-arsip-table .arsip-year-cell {
  position: sticky;
  z-index: 9;
  background: inherit
}

.rat-arsip-table .arsip-no {
  left: 0
}

.rat-arsip-table .arsip-year-cell {
  left: 52px;
  box-shadow: 1px 0 0 #d9d9d9
}

.rat-arsip-table thead .arsip-no {
  z-index: 30;
  left: 0;
  background: #5f788f !important
}

.rat-arsip-table thead .arsip-year {
  z-index: 30;
  left: 52px;
  background: #5f788f !important
}

.rat-arsip-actions-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px
}

.rat-arsip-actions-inline .btn {
  width: 31px;
  height: 31px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px
}

.rat-arsip-detail-panel {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #c7c7c7;
  border-top: 0;
  box-shadow: 0 2px 7px rgba(0, 0, 0, .10);
  overflow: hidden
}

.rat-arsip-detail-head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 12px;
  background: #f8fafc;
  border-bottom: 1px solid #d7dee7
}

.rat-arsip-detail-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  color: #111827
}

.rat-arsip-detail-title small {
  display: block;
  color: #64748b;
  font-weight: 600;
  margin-top: 1px
}

.rat-arsip-detail-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap
}

.rat-arsip-detail-frame {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  border: 0;
  background: #fff
}

.rat-arsip-search-box {
  width: 230px
}

.rat-arsip-search-box .form-control {
  height: 35px
}

.rat-arsip-empty {
  display: none
}

.rat-arsip-empty.is-visible {
  display: table-row !important
}

.rat-arsip-lampiran-panel {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #c7c7c7;
  border-top: 0;
  overflow: hidden
}

.rat-arsip-lampiran-table {
  min-width: 1080px
}

.rat-arsip-lampiran-table .lampiran-no {
  width: 52px;
  text-align: left !important
}

.rat-arsip-lampiran-table .lampiran-title {
  width: 255px
}

.rat-arsip-lampiran-table .lampiran-group {
  width: 210px
}

.rat-arsip-lampiran-table .lampiran-output {
  width: 145px
}

.rat-arsip-lampiran-table .lampiran-actions {
  width: 190px;
  text-align: center
}

.rat-arsip-lampiran-titleline {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0
}

.rat-arsip-lampiran-titleline i {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #ecfeff;
  color: #0f766e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex: 0 0 auto
}

.rat-arsip-lampiran-titleline div {
  min-width: 0
}

.rat-arsip-lampiran-titleline strong {
  display: block;
  color: #111827;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.rat-arsip-lampiran-titleline small {
  display: block;
  color: #64748b;
  margin-top: 1px
}

.rat-arsip-lampiran-desc {
  white-space: normal !important;
  line-height: 1.25
}

.rat-arsip-lampiran-table .lampiran-no,
.rat-arsip-lampiran-table .lampiran-title-cell {
  position: sticky;
  z-index: 9;
  background: inherit
}

.rat-arsip-lampiran-table .lampiran-no {
  left: 0
}

.rat-arsip-lampiran-table .lampiran-title-cell {
  left: 52px;
  box-shadow: 1px 0 0 #d9d9d9
}

.rat-arsip-lampiran-table thead .lampiran-no {
  z-index: 30;
  left: 0;
  background: #5f788f !important
}

.rat-arsip-lampiran-table thead .lampiran-title {
  z-index: 30;
  left: 52px;
  background: #5f788f !important
}

@media(max-width:900px) {
  .rat-arsip-summary {
    grid-template-columns: 1fr
  }

  .rat-arsip-toolbar .toolbar-right-actions {
    margin-left: 0;
    width: 100%
  }

  .rat-arsip-search-box {
    width: 100%
  }

  .rat-arsip-detail-head {
    align-items: flex-start;
    flex-direction: column
  }
}

/* ===== End app/Views/rat/arsip.php ===== */


/* ===== Moved from app/Views/rat/buku.php ===== */
.rat-page {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px;
  background: #f4f6f8;
  overflow: hidden
}

.rat-book-arsip-clean {
  padding: 0 !important;
  background: #fff !important;
  gap: 0 !important
}

.rat-book-arsip-clean .rat-book-layout {
  display: block !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important
}

.rat-book-arsip-clean .rat-book-document {
  height: 100% !important;
  min-height: 0 !important;
  overflow: auto !important;
  display: grid !important;
  align-content: start !important;
  gap: 10px !important;
  padding: 10px !important
}

.rat-book-arsip-clean .rat-doc-section {
  box-shadow: none !important;
  border-radius: 10px !important;
  padding: 16px !important
}

.rat-book-arsip-clean .rat-cover {
  padding: 24px 18px !important
}

.rat-book-arsip-clean .rat-report-grid a {
  pointer-events: none
}

.rat-hero {
  flex: 0 0 auto;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 14px;
  background: linear-gradient(135deg, #ffffff, #eef7fb);
  border: 1px solid #d7e1ea;
  border-radius: 12px;
  padding: 16px 18px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .06)
}

.rat-eyebrow {
  font-size: 12px;
  font-weight: 800;
  color: #0f766e;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 5px;
  display: flex;
  gap: 7px;
  align-items: center
}

.rat-hero h2 {
  font-size: 22px;
  margin: 0;
  color: #111827;
  font-weight: 800
}

.rat-hero p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 13px
}

.rat-year-box {
  min-width: 260px;
  background: #fff;
  border: 1px solid #dbe3ea;
  border-radius: 10px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px
}

.rat-year-box label {
  font-size: 12px;
  font-weight: 800;
  color: #475569
}

.rat-year-line {
  display: flex;
  gap: 8px
}

.rat-year-line select {
  min-width: 96px
}

.rat-book-toolbar {
  flex: 0 0 auto;
  display: flex;
  gap: 8px;
  align-items: center;
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 10px;
  padding: 9px
}

.rat-book-layout {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  overflow: hidden
}

.rat-book-nav {
  position: relative;
  z-index: 30;
  height: 100%;
  min-height: 0;
  overflow: auto;
  background: rgba(255, 255, 255, .96);
  border: 1px solid #dce3ea;
  border-radius: 12px;
  padding: 10px;
  display: grid;
  align-content: start;
  gap: 6px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  scrollbar-width: thin
}

.rat-book-nav-title {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 4px 8px 9px;
  border-bottom: 1px solid #e5e7eb;
  color: #0f766e;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em
}

.rat-book-nav a {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: #334155;
  font-weight: normal;
  font-size: 13px;
  padding: 10px;
  border-radius: 9px;
  border: 1px solid transparent
}

.rat-book-nav a:hover,
.rat-book-nav a:focus {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8
}

.rat-book-nav i {
  font-size: 15px;
  flex: 0 0 auto
}

.rat-book-document {
  height: 100%;
  min-height: 0;
  min-width: 0;
  overflow: auto;
  display: grid;
  align-content: start;
  gap: 12px;
  padding-right: 4px;
  scroll-behavior: smooth
}

.rat-doc-section {
  scroll-margin-top: 12px;
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 5px 18px rgba(15, 23, 42, .05)
}

.rat-cover {
  text-align: center;
  padding: 42px 24px
}

.rat-cover-logo {
  width: 78px;
  height: 78px;
  border-radius: 20px;
  background: #ecfeff;
  color: #0f766e;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  margin: 0 auto 16px;
  overflow: hidden
}

.rat-cover-logo.has-image {
  background: #fff;
  border: 1px solid #dce3ea
}

.rat-cover-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px
}

.rat-cover h1 {
  font-size: 26px;
  font-weight: 900;
  margin: 0;
  color: #111827;
  text-transform: uppercase
}

.rat-cover h2 {
  font-size: 17px;
  margin: 10px 0 0;
  color: #334155;
  font-weight: 800
}

.rat-cover h3 {
  font-size: 16px;
  margin: 6px 0 0;
  color: #0f766e;
  font-weight: 800
}

.rat-cover p {
  max-width: 650px;
  margin: 16px auto 0;
  color: #64748b
}

.rat-doc-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px
}

.rat-doc-heading span {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #0f766e;
  color: #fff;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center
}

.rat-doc-heading h3 {
  font-size: 18px;
  font-weight: 900;
  margin: 0;
  color: #111827
}

.rat-summary-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 10px
}

.rat-summary-card {
  background: #fbfdff;
  border: 1px solid #dce3ea;
  border-radius: 10px;
  padding: 11px 12px
}

.rat-summary-card span {
  display: block;
  font-size: 12px;
  color: #64748b;
  font-weight: 700
}

.rat-summary-card strong {
  display: block;
  margin-top: 5px;
  color: #111827;
  font-size: 15px;
  font-variant-numeric: tabular-nums
}

.rat-doc-note {
  color: #64748b;
  font-size: 13px;
  margin: 12px 0 0
}

.rat-doc-heading-action {
  align-items: center
}

.rat-narrative-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px
}

.rat-narrative-panel {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px;
  background: #fbfdff
}

.rat-narrative-panel>h4 {
  font-size: 15px;
  font-weight: 900;
  margin: 0 0 10px;
  color: #111827
}

.rat-narrative-item {
  padding: 10px 0;
  border-top: 1px dashed #e5e7eb
}

.rat-narrative-item:first-of-type {
  border-top: 0;
  padding-top: 0
}

.rat-narrative-item h5 {
  font-size: 13px;
  font-weight: 900;
  color: #0f766e;
  margin: 0 0 6px
}

.rat-narrative-item p {
  margin: 0 0 8px;
  color: #475569;
  font-size: 13px;
  line-height: 1.6
}

.rat-narrative-item p:last-child {
  margin-bottom: 0
}

.rat-narasi-form {
  margin-top: 14px;
  border: 1px solid #dbeafe;
  background: #f8fbff;
  border-radius: 12px;
  padding: 14px
}

.rat-narasi-form-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px
}

.rat-narasi-form-head strong {
  display: block;
  color: #111827
}

.rat-narasi-form-head small {
  display: block;
  color: #64748b;
  font-size: 12px;
  margin-top: 2px
}

.rat-narasi-edit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px
}

.rat-narasi-edit-grid h4 {
  font-size: 14px;
  font-weight: 900;
  color: #111827;
  margin: 0 0 8px
}

.rat-narasi-edit-grid label {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: #334155;
  margin: 10px 0 5px
}

.rat-narasi-edit-grid textarea {
  font-size: 13px;
  line-height: 1.45;
  resize: vertical
}

.rat-info-box {
  margin-top: 12px;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #92400e;
  border-radius: 10px;
  padding: 10px;
  font-size: 13px
}

.rat-report-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px
}

.rat-report-grid a {
  text-decoration: none;
  color: #111827;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fbfdff;
  padding: 13px;
  display: flex;
  flex-direction: column;
  gap: 7px
}

.rat-report-grid i {
  font-size: 24px;
  color: #0f766e
}

.rat-report-grid strong {
  font-size: 14px
}

.rat-report-grid span {
  font-size: 12px;
  color: #64748b
}

.rat-mini-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 14px;
  font-size: 13px
}

.rat-mini-table th,
.rat-mini-table td {
  border: 1px solid #e5e7eb;
  padding: 9px 10px
}

.rat-mini-table th {
  background: #f8fafc;
  color: #334155
}

.rat-mini-table td:last-child {
  text-align: right;
  font-variant-numeric: tabular-nums
}

.rat-empty-state {
  border: 1px dashed #f59e0b;
  background: #fffbeb;
  border-radius: 12px;
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #92400e
}

.rat-empty-state i {
  font-size: 24px
}

.rat-empty-state strong {
  color: #78350f
}

.rat-empty-state span {
  font-size: 13px
}

@media(max-width:1100px) {
  .rat-summary-grid {
    grid-template-columns: repeat(2, minmax(130px, 1fr))
  }

  .rat-book-layout {
    grid-template-columns: 190px minmax(0, 1fr)
  }

  .rat-narrative-grid,
  .rat-narasi-edit-grid,
  .rat-report-grid {
    grid-template-columns: 1fr
  }

  .rat-hero {
    flex-direction: column
  }

  .rat-year-box {
    min-width: 0
  }

  .rat-book-toolbar {
    flex-wrap: wrap
  }

  .rat-book-toolbar .ms-auto {
    margin-left: 0 !important
  }
}

@media(max-width:760px) {
  .rat-page {
    overflow: auto
  }

  .rat-book-layout {
    display: block;
    overflow: visible
  }

  .rat-book-nav {
    position: sticky;
    top: 0;
    height: auto;
    max-height: none;
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    margin-bottom: 12px
  }

  .rat-book-nav-title {
    display: none
  }

  .rat-book-nav a {
    flex: 0 0 auto
  }

  .rat-book-document {
    height: auto;
    overflow: visible;
    padding-right: 0
  }

  .rat-doc-section {
    scroll-margin-top: 12px
  }
}

@media print {
  .rat-page {
    display: block;
    background: #fff;
    padding: 0;
    overflow: visible
  }

  .rat-hero,
  .rat-book-toolbar,
  .rat-book-nav {
    display: none !important
  }

  .rat-book-layout {
    display: block;
    overflow: visible
  }

  .rat-book-document {
    display: block;
    height: auto;
    overflow: visible;
    padding-right: 0
  }

  .rat-doc-section {
    box-shadow: none;
    border: 0;
    border-radius: 0;
    page-break-inside: avoid;
    scroll-margin-top: 0
  }

  .rat-cover {
    min-height: 70vh;
    display: flex;
    flex-direction: column;
    justify-content: center
  }
}

/* ===== End app/Views/rat/buku.php ===== */


/* ===== Moved from app/Views/rat/index.php ===== */
.rat-dash-page {
  height: calc(100vh - 98px);
  min-height: 560px;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  overflow: hidden;
  padding: .35rem 0;
  background: transparent
}

.rat-dash-topbar {
  padding: .6rem .75rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .04)
}

.rat-dash-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem
}

.rat-dash-title {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-width: 0
}

.rat-dash-title-icon {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #e7f0ff;
  color: #1768e5;
  display: grid;
  place-items: center;
  font-size: 1.1rem;
  flex: 0 0 auto
}

.rat-dash-title b {
  margin: 0;
  font-weight: 850;
  letter-spacing: -.02em;
  font-size: 1rem
}

.rat-dash-title p {
  margin: .08rem 0 0;
  color: var(--muted);
  font-size: .76rem
}

.rat-dash-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .35rem;
  flex-wrap: wrap
}

.rat-dash-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 5px;
  padding: .42rem .6rem;
  font-size: .76rem;
  font-weight: 750;
  color: #4d5d73;
  white-space: nowrap
}

.rat-dash-chip.active-year {
  background: #058c16;
  color: #fff;
  border-color: #058c16
}

.rat-dash-year-form {
  display: flex;
  align-items: center;
  gap: .35rem;
  margin: 0
}

.rat-dash-year-form .form-select {
  height: 32px;
  min-width: 88px;
  font-size: .76rem
}

.rat-dash-icon-btn {
  width: 34px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0
}

.rat-dash-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .35rem
}

.rat-dash-kpi {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .6rem .62rem;
  min-height: 82px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .04)
}

.rat-dash-kpi-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .35rem;
  min-width: 0
}

.rat-dash-kpi-icon {
  width: 30px;
  height: 30px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: .9rem;
  flex: 0 0 auto
}

.rat-dash-kpi small {
  color: var(--muted);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.rat-dash-kpi strong {
  font-size: .95rem;
  line-height: 1.1;
  letter-spacing: -.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.rat-dash-kpi span {
  font-size: .7rem;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.rat-dash-kpi.primary .rat-dash-kpi-icon {
  background: #e7f0ff;
  color: #1768e5
}

.rat-dash-kpi.success .rat-dash-kpi-icon {
  background: #e8f8ee;
  color: #198754
}

.rat-dash-kpi.warning .rat-dash-kpi-icon {
  background: #fff4df;
  color: #b76b00
}

.rat-dash-kpi.info .rat-dash-kpi-icon {
  background: #e8f8fa;
  color: #0aa6a6
}

.rat-dash-kpi.danger .rat-dash-kpi-icon {
  background: #ffe9eb;
  color: #dc3545
}

.rat-dash-kpi.purple .rat-dash-kpi-icon {
  background: #f0e9ff;
  color: #6f42c1
}

.rat-dash-main-grid {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: .35rem
}

.rat-dash-col {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: .35rem
}

.rat-dash-card {
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .65rem;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .04)
}

.rat-dash-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .55rem;
  margin-bottom: .48rem
}

.rat-dash-card-head b {
  font-size: .93rem;
  margin: 0;
  font-weight: 850;
  display: block
}

.rat-dash-card-head span,
.rat-dash-card-head small {
  color: var(--muted);
  font-size: .74rem
}

.rat-dash-readiness-card,
.rat-dash-job-card {
  height: 100%
}

.rat-dash-progress-badge {
  border-radius: 999px;
  background: #eff6ff;
  color: #1768e5;
  padding: .32rem .56rem;
  font-weight: 850;
  font-size: .72rem;
  white-space: nowrap
}

.rat-dash-progress {
  height: 8px;
  background: #e5e7eb;
  border-radius: 999px;
  overflow: hidden;
  margin: .08rem 0 .52rem
}

.rat-dash-progress span {
  display: block;
  height: 100%;
  background: #1768e5;
  border-radius: 999px
}

.rat-dash-step-list {
  display: grid;
  gap: .35rem;
  overflow: auto;
  min-height: 0;
  padding-right: .15rem
}

.rat-dash-step {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: .58rem .62rem;
  background: #fbfdff
}

.rat-dash-step-icon {
  width: 34px;
  height: 34px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  flex: 0 0 auto
}

.rat-dash-step.ready .rat-dash-step-icon {
  background: #e8f8ee;
  color: #198754
}

.rat-dash-step.pending .rat-dash-step-icon {
  background: #fff4df;
  color: #b76b00
}

.rat-dash-step strong {
  display: block;
  font-size: .8rem;
  color: #0f172a
}

.rat-dash-step small {
  display: block;
  margin-top: .12rem;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.35
}

.rat-dash-export-actions {
  display: flex;
  align-items: center;
  gap: .35rem;
  flex: 0 0 auto
}

.rat-dash-action-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .35rem;
  overflow: auto;
  min-height: 0;
  padding: 8px 0;
}

.rat-dash-action {
  position: relative;
  padding: .62rem;
  display: flex;
  align-items: center;
  gap: .55rem;
  min-height: 76px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  text-decoration: none;
  color: #0f172a;
  transition: .15s
}

.rat-dash-action:hover {
  border-color: #93c5fd;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
  transform: translateY(-1px)
}

.rat-dash-action i {
  width: 34px;
  height: 34px;
  border-radius: 13px;
  background: #eff6ff;
  color: #1768e5;
  display: grid;
  place-items: center;
  flex: 0 0 auto
}

.rat-dash-action strong {
  font-size: .8rem;
  display: block
}

.rat-dash-action small {
  font-size: .7rem;
  color: var(--muted);
  line-height: 1.35;
  display: block;
  margin-top: .08rem
}

.rat-dash-action em {
  margin-left: auto;
  color: #94a3b8;
  font-size: .72rem;
  font-style: normal
}

.rat-dash-action span {
  min-width: 0
}

.rat-dash-action span strong,
.rat-dash-action span small {
  overflow: hidden;
  text-overflow: ellipsis
}

.rat-dash-action span strong {
  white-space: nowrap
}

.rat-dash-action span small {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical
}

.rat-dash-action:nth-child(2) i {
  background: #f0e9ff;
  color: #6f42c1
}

.rat-dash-action:nth-child(3) i {
  background: #e8f8ee;
  color: #198754
}

.rat-dash-action:nth-child(4) i {
  background: #fff4df;
  color: #b76b00
}

@media(max-width:1100px) {
  .rat-dash-page {
    height: auto;
    min-height: 0;
    overflow: auto;
    padding: .35rem
  }

  .rat-dash-title-row {
    align-items: flex-start;
    flex-direction: column
  }

  .rat-dash-toolbar {
    width: 100%;
    justify-content: space-between
  }

  .rat-dash-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .rat-dash-main-grid {
    grid-template-columns: 1fr
  }

  .rat-dash-action-list {
    grid-template-columns: 1fr
  }
}

@media(max-width:560px) {
  .rat-dash-kpi-grid {
    grid-template-columns: 1fr
  }

  .rat-dash-toolbar {
    align-items: stretch;
    flex-direction: column
  }

  .rat-dash-year-form {
    width: 100%
  }

  .rat-dash-year-form .form-select {
    flex: 1
  }

  .rat-dash-chip {
    justify-content: center
  }

  .rat-dash-title p {
    white-space: normal
  }
}

@media print {
  .rat-dash-page {
    display: block;
    height: auto;
    overflow: visible;
    padding: 0
  }

  .rat-dash-card,
  .rat-dash-topbar,
  .rat-dash-kpi {
    box-shadow: none;
    border: 0
  }

  .rat-dash-job-card {
    display: none !important
  }
}

/* ===== End app/Views/rat/index.php ===== */


/* ===== Moved from app/Views/rat/lampiran.php ===== */
.rat-lampiran-workspace {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #f2f2f2
}

.rat-lampiran-workspace .accurate-inner-tabs {
  flex: 0 0 auto;
  margin: -14px -14px 10px
}

.rat-lampiran-workspace .inner-data-tab span:first-child {
  white-space: nowrap
}

.rat-lampiran-summary {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 10px
}

.rat-lampiran-summary-card {
  background: #fff;
  border: 1px solid #dce3ea;
  border-radius: 10px;
  padding: 10px 12px;
  box-shadow: 0 2px 10px rgba(15, 23, 42, .04)
}

.rat-lampiran-summary-card span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 700
}

.rat-lampiran-summary-card strong {
  display: block;
  margin-top: 4px;
  color: #111827;
  font-size: 16px;
  font-weight: 800
}

.rat-lampiran-toolbar {
  flex: 0 0 auto;
  margin-bottom: 0;
  border-radius: 10px 10px 0 0;
  border: 1px solid #c7c7c7;
  background: #fff
}

.rat-lampiran-toolbar .toolbar-row {
  gap: 6px;
  align-items: center
}

.rat-lampiran-grid {
  flex: 1 1 auto;
  min-height: 260px;
  width: 100%;
  overflow: auto;
  border-top: 1px solid #6f879a;
  background: #fff
}

.rat-lampiran-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed;
  font-size: 13px
}

.rat-lampiran-table thead th {
  position: sticky;
  top: 0;
  z-index: 20;
  background: #5f788f !important;
  color: #fff !important;
  border-right: 1px solid #8da0b2 !important;
  border-bottom: 1px solid #4f6579 !important;
  height: 34px;
  padding: 7px 9px;
  font-weight: 600;
  white-space: nowrap;
  vertical-align: middle
}

.rat-lampiran-table tbody td {
  height: 48px;
  padding: 6px 9px;
  border-bottom: 1px solid #e9e9e9;
  border-right: 1px dotted #d9d9d9;
  vertical-align: middle;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.rat-lampiran-table tbody tr:nth-child(odd) {
  background: #fff
}

.rat-lampiran-table tbody tr:nth-child(even) {
  background: #f7f7f7
}

.rat-lampiran-table tbody tr:hover {
  background: #eef7ff
}

.rat-lampiran-table .lampiran-no {
  width: 52px;
  text-align: left !important
}

.rat-lampiran-table .lampiran-title {
  width: 255px
}

.rat-lampiran-table .lampiran-group {
  width: 210px
}

.rat-lampiran-table .lampiran-output {
  width: 145px
}

.rat-lampiran-table .lampiran-actions {
  width: 225px;
  text-align: center
}

.rat-lampiran-table .lampiran-desc {
  white-space: normal;
  line-height: 1.25
}

.rat-lampiran-table .lampiran-no,
.rat-lampiran-table .lampiran-title-cell {
  position: sticky;
  z-index: 9;
  background: inherit
}

.rat-lampiran-table .lampiran-no {
  left: 0
}

.rat-lampiran-table .lampiran-title-cell {
  left: 52px;
  box-shadow: 1px 0 0 #d9d9d9
}

.rat-lampiran-table thead .lampiran-no {
  z-index: 30;
  left: 0;
  background: #5f788f !important
}

.rat-lampiran-table thead .lampiran-title {
  z-index: 30;
  left: 52px;
  background: #5f788f !important
}

.rat-lampiran-titleline {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0
}

.rat-lampiran-titleline i {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #ecfeff;
  color: #0f766e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex: 0 0 auto
}

.rat-lampiran-titleline div {
  min-width: 0
}

.rat-lampiran-titleline strong {
  display: block;
  color: #111827;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.rat-lampiran-titleline small {
  display: block;
  color: #64748b;
  margin-top: 1px
}

.rat-lampiran-actions-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px
}

.rat-lampiran-actions-inline .btn {
  width: 31px;
  height: 31px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px
}

.rat-lampiran-search-box {
  width: 240px
}

.rat-lampiran-search-box .form-control {
  height: 35px
}

.rat-lampiran-empty {
  display: none
}

.rat-lampiran-empty.is-visible {
  display: table-row !important
}

.rat-lampiran-detail-panel {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #c7c7c7;
  border-top: 0;
  box-shadow: 0 2px 7px rgba(0, 0, 0, .10);
  overflow: hidden
}

.rat-lampiran-detail-head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 12px;
  background: #f8fafc;
  border-bottom: 1px solid #d7dee7
}

.rat-lampiran-detail-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  color: #111827
}

.rat-lampiran-detail-title i {
  color: #0f766e
}

.rat-lampiran-detail-title small {
  display: block;
  color: #64748b;
  font-weight: 600;
  margin-top: 1px
}

.rat-lampiran-detail-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap
}

.rat-lampiran-detail-frame {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  border: 0;
  background: #fff
}

@media(max-width:1000px) {
  .rat-lampiran-summary {
    grid-template-columns: 1fr
  }

  .rat-lampiran-toolbar .toolbar-right-actions {
    margin-left: 0;
    width: 100%
  }

  .rat-lampiran-search-box {
    width: 100%
  }

  .rat-lampiran-detail-head {
    align-items: flex-start;
    flex-direction: column
  }
}

/* ===== End app/Views/rat/lampiran.php ===== */


/* ===== Moved from app/Views/rat/neraca_komparatif.php ===== */
.neraca-komparatif-page {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #f4f6f8;
}

.neraca-komparatif-page.neraca-arsip-table-only {
  padding: 0 !important;
  background: #fff !important;
  border: 0 !important;
  gap: 0 !important;
}

.neraca-komparatif-page.neraca-arsip-table-only .neraca-grid-wrap {
  height: 100% !important;
  min-height: 0 !important;
  border-top: 0 !important;
}

.neraca-komparatif-page.neraca-arsip-table-only .neraca-grid-table thead th {
  top: 0 !important;
}

.neraca-komparatif-page .accurate-inner-tabs,
.neraca-komparatif-page .tb-summary-strip,
.neraca-komparatif-page .accurate-list-toolbar {
  flex: 0 0 auto;
}

.neraca-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 8px;
  margin: 10px 8px 8px;
}

.neraca-summary-strip .tb-summary-card {
  min-height: 56px;
}

.neraca-toolbar-form {
  display: flex;
  align-items: center;
  gap: 8px;
}

.neraca-toolbar-form label {
  font-weight: 600;
  margin: 0;
}

.neraca-toolbar-form .toolbar-year-select {
  width: 112px;
}

.neraca-status-badge {
  min-width: 86px;
  text-align: center;
}

.neraca-grid-wrap {
  flex: 1 1 auto;
  min-height: 260px;
  width: 100%;
  max-width: 100%;
  overflow: auto !important;
  background: #fff;
  border-top: 1px solid #6f879a;
}

.neraca-grid-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  width: 1180px !important;
  min-width: 1180px !important;
  max-width: none !important;
  margin: 0 !important;
  font-size: 13px !important;
}

.neraca-grid-table col.neraca-code-col {
  width: 82px;
}

.neraca-grid-table col.neraca-name-col {
  width: 285px;
}

.neraca-grid-table col.neraca-money-col {
  width: 150px;
}

.neraca-grid-table thead {
  position: sticky !important;
  top: 0 !important;
  z-index: 30 !important;
}

.neraca-grid-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 32 !important;
  background: #5f788f !important;
  color: #fff !important;
  border-right: 1px solid #8da0b2 !important;
  border-bottom: 1px solid #4f6579 !important;
  height: 34px !important;
  padding: 7px 9px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

.neraca-grid-table tbody td {
  height: 38px !important;
  padding: 6px 9px !important;
  border-bottom: 1px solid #e9e9e9 !important;
  border-right: 1px dotted #d9d9d9 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  vertical-align: middle !important;
  background: inherit !important;
}

.neraca-grid-table tbody tr:nth-child(odd) {
  background: #fff !important;
}

.neraca-grid-table tbody tr:nth-child(even) {
  background: #f8f9fa !important;
}

.neraca-grid-table tbody tr:hover {
  background: #eef7ff !important;
}

.neraca-grid-table tfoot {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 35 !important;
}

.neraca-grid-table tfoot th {
  background: #eef3f8 !important;
  color: #111 !important;
  font-weight: 700 !important;
  border-top: 1px solid #5f788f !important;
  border-right: 1px dotted #d9d9d9 !important;
  height: 38px !important;
  padding: 8px 9px !important;
  white-space: nowrap !important;
}

.neraca-code-cell {
  font-weight: 600;
  color: #455a68;
  background-clip: padding-box !important;
}

.neraca-name-cell.neraca-lv-0 {
  font-weight: 700;
  text-transform: uppercase;
}

.neraca-name-cell.neraca-lv-1 {
  padding-left: 14px !important;
}

.neraca-name-cell.neraca-lv-2 {
  padding-left: 28px !important;
  font-weight: 700;
}

.neraca-name-cell.neraca-lv-3 {
  padding-left: 10px !important;
  font-weight: 800;
  text-transform: uppercase;
}

.neraca-heading {
  background: #eaf2f8 !important;
  font-weight: 800 !important;
  color: #243b53 !important;
}

.neraca-total {
  background: #f4f8fb !important;
  font-weight: 700 !important;
}

.neraca-grand-total {
  background: #dfeaf3 !important;
  font-weight: 800 !important;
  color: #111 !important;
}

.neraca-amount {
  font-variant-numeric: tabular-nums;
}

.neraca-print-title {
  display: none;
}

.neraca-reconcile-grid {
  min-width: 980px !important;
  width: 980px !important;
}

.neraca-reconcile-grid col:nth-child(1) {
  width: 90px;
}

.neraca-reconcile-grid col:nth-child(2) {
  width: 90px;
}

.neraca-reconcile-grid col:nth-child(3) {
  width: 280px;
}

.neraca-reconcile-grid col:nth-child(4),
.neraca-reconcile-grid col:nth-child(5),
.neraca-reconcile-grid col:nth-child(6) {
  width: 150px;
}

.neraca-reconcile-grid col:nth-child(7) {
  width: 110px;
}

@media print {
  .no-print {
    display: none !important;
  }

  html,
  body {
    height: auto !important;
    overflow: visible !important;
    background: #fff !important;
  }

  .app-shell,
  .app-main,
  .tab-content,
  .embed-body {
    height: auto !important;
    overflow: visible !important;
  }

  .neraca-komparatif-page {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
    background: #fff !important;
    padding: 0 !important;
  }

  .neraca-print-title {
    display: block !important;
    text-align: center;
    margin: 0 0 8px !important;
  }

  .neraca-print-title h3 {
    font-size: 15px;
    margin: 0 0 2px;
  }

  .neraca-print-title h4 {
    font-size: 13px;
    margin: 0 0 2px;
  }

  .neraca-print-title div {
    font-size: 11px;
  }

  .neraca-grid-wrap {
    display: block !important;
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    border: 0 !important;
  }

  .neraca-grid-table {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 9px !important;
  }

  .neraca-grid-table thead {
    display: table-header-group !important;
    position: static !important;
  }

  .neraca-grid-table tfoot {
    display: table-footer-group !important;
    position: static !important;
  }

  .neraca-grid-table thead th,
  .neraca-grid-table tfoot th {
    position: static !important;
    height: auto !important;
    padding: 4px !important;
  }

  .neraca-grid-table tbody td {
    height: auto !important;
    padding: 4px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

/* ===== End app/Views/rat/neraca_komparatif.php ===== */


/* ===== Moved from app/Views/rat/shu.php ===== */
.shu-arsip-lampiran-only {
  height: 100%;
  min-height: 0;
  overflow: auto;
  background: #fff;
  padding: 0;
  display: grid;
  align-content: start;
  gap: 10px
}

.shu-arsip-block {
  background: #fff;
  border-bottom: 1px solid #e5e7eb
}

.shu-arsip-title {
  font-weight: 900;
  color: #111827;
  padding: 9px 10px;
  background: #f8fafc;
  border-bottom: 1px solid #d7dee7
}

.shu-arsip-table-wrap {
  overflow: auto
}

.shu-arsip-table {
  width: 100%;
  min-width: 720px;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  font-size: 13px !important
}

.shu-arsip-detail-table {
  min-width: 1320px
}

.shu-arsip-table thead th {
  position: sticky;
  top: 0;
  z-index: 22;
  background: #5f788f !important;
  color: #fff !important;
  border-right: 1px solid #8da0b2 !important;
  border-bottom: 1px solid #4f6579 !important;
  padding: 7px 9px !important;
  min-height: 34px !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  vertical-align: middle !important
}

.shu-arsip-table tbody td,
.shu-arsip-table tfoot th {
  padding: 6px 9px !important;
  border-bottom: 1px solid #e9e9e9 !important;
  border-right: 1px dotted #d9d9d9 !important;
  white-space: nowrap !important;
  background: inherit !important
}

.shu-arsip-table tbody tr:nth-child(even) {
  background: #f8f9fa
}

.shu-arsip-table tfoot th {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 21 !important;
  background: #eef3f8 !important;
  font-weight: 800 !important;
  border-top: 1px solid #cfd8e3 !important
}

.shu-arsip-table .tb-col-no {
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  text-align: left !important
}

.shu-arsip-table .tb-col-no-anggota {
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
  text-align: left !important;
  font-variant-numeric: tabular-nums !important
}

.shu-arsip-table .tb-col-name {
  width: 270px !important;
  min-width: 270px !important;
  max-width: 340px !important
}

.shu-arsip-detail-table tbody .shu-sticky-no,
.shu-arsip-detail-table tbody .shu-sticky-no-anggota,
.shu-arsip-detail-table tbody .shu-sticky-name {
  position: sticky !important;
  z-index: 9 !important;
  background: inherit !important
}

.shu-arsip-detail-table .shu-sticky-no,
.shu-arsip-detail-table .shu-sticky-no-anggota {
  left: 0 !important
}

.shu-arsip-detail-table .shu-sticky-name {
  left: 150px !important;
  box-shadow: 1px 0 0 #d9d9d9 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important
}

.shu-arsip-detail-table thead .shu-sticky-no,
.shu-arsip-detail-table thead .shu-sticky-no-anggota {
  left: 0 !important;
  z-index: 32 !important;
  background: #5f788f !important;
  color: #fff !important
}

.shu-arsip-detail-table thead .shu-sticky-name {
  left: 150px !important;
  z-index: 32 !important;
  background: #5f788f !important;
  color: #fff !important
}

.shu-arsip-detail-table tfoot .shu-sticky-no,
.shu-arsip-detail-table tfoot .shu-sticky-no-anggota {
  left: 0 !important;
  z-index: 31 !important;
  background: #eef3f8 !important
}

.shu-arsip-detail-table tfoot .shu-sticky-name {
  left: 150px !important;
  z-index: 31 !important;
  background: #eef3f8 !important
}

.shu-arsip-summary-table {
  min-width: 520px !important
}

.shu-workspace {
  gap: 10px !important;
  background: #f4f6f8 !important;
  padding: 12px !important
}

.shu-workspace .shu-summary-strip {
  grid-template-columns: repeat(5, minmax(135px, 1fr)) !important
}

.shu-workspace .shu-main-toolbar {
  border: 1px solid #dce3ea !important;
  border-radius: 10px !important;
  margin: 0 !important;
  padding: 8px !important;
  background: #fff !important
}

.shu-year-form {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important
}

.shu-year-form .toolbar-label {
  font-weight: 700 !important;
  font-size: 13px !important;
  color: #2f3542 !important
}

.shu-year-form .toolbar-year {
  width: 125px !important;
  min-width: 125px !important
}

/* Tab SHU disamakan dengan template tab internal setup awal */
.shu-workspace .shu-inner-tabs {
  flex: 0 0 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  display: flex !important;
  align-items: flex-end !important;
  border: 0 !important;
  border-bottom: 1px solid #b7b7b7 !important;
  margin: 0 !important;
  background: #efefef !important;
  padding: 0 !important;
  overflow: visible !important;
  box-shadow: none !important
}

.shu-workspace .shu-inner-tabs .inner-list-tab {
  height: 41px !important;
  min-width: 58px !important;
  width: auto !important;
  flex: 0 0 auto !important;
  padding: 0 14px !important;
  margin: 0 !important;
  border-radius: 4px 4px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important
}

.shu-workspace .shu-inner-tabs .inner-list-tab i {
  font-size: 1.43rem !important;
  line-height: 1 !important
}

.shu-workspace .shu-inner-tabs .inner-data-tab {
  height: 39px !important;
  min-width: 126px !important;
  max-width: 230px !important;
  margin: 0 0 0 4px !important;
  padding: 0 10px 0 13px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 5px 5px 0 0 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1 !important
}

.shu-workspace .shu-inner-tabs .inner-data-tab span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important
}

.shu-workspace .shu-inner-tabs .inner-data-tab i {
  font-size: 14px !important;
  line-height: 1 !important
}

.shu-workspace .shu-inner-tabs .inner-list-tab.active {
  height: 43px !important;
  position: relative !important;
  top: 1px !important;
  background: #fff !important;
  color: #222 !important;
  border-top: 2px solid #e62e65 !important;
  font-weight: 600 !important;
  box-shadow: none !important
}

.shu-workspace .shu-inner-tabs .inner-data-tab.active {
  height: 41px !important;
  position: relative !important;
  top: 1px !important;
  background: #fff !important;
  color: #222 !important;
  border-top: 2px solid #e62e65 !important;
  font-weight: 600 !important;
  box-shadow: none !important
}

.shu-tab-shell {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid #c8c8c8 !important;
  border-top: 0 !important;
  background: #fff !important;
  margin: 0 !important;
  box-shadow: none !important
}

.shu-panel {
  display: none !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  flex-direction: column !important
}

.shu-panel.active {
  display: flex !important
}

.shu-hitung-form {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  overflow: hidden !important
}

.shu-panel-toolbar {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-height: 46px !important;
  padding: 7px 9px !important;
  background: #f7f7f7 !important;
  border-bottom: 1px solid #d4d4d4 !important;
  flex-wrap: wrap !important
}

.shu-input-line {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important
}

.shu-input-line label {
  font-weight: 600 !important;
  font-size: 13px !important;
  color: #2f3542 !important;
  margin: 0 !important;
  min-width: 78px !important
}

.shu-input-line input {
  width: 170px !important;
  height: 34px !important;
  border-radius: 4px !important;
  border: 1px solid #b8c1c9 !important;
  background: #fff !important;
  font-variant-numeric: tabular-nums !important
}

.shu-hit-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: auto !important;
  min-width: 94px !important;
  padding: 0 13px !important;
  height: 34px !important;
  border-radius: 4px !important
}

.shu-toolbar-note {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  font-size: 13px !important
}

.shu-toolbar-note span {
  color: #6b7280 !important;
  font-weight: 600 !important
}

.shu-toolbar-note strong {
  font-size: 14px !important;
  color: #111 !important;
  font-variant-numeric: tabular-nums !important
}

.shu-detail-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: auto !important
}

.shu-search-box {
  width: 250px !important
}

.shu-grid-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: auto !important;
  border: 0 !important;
  border-top: 0 !important;
  margin: 0 !important;
  background: #fff !important
}

.shu-table {
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  white-space: nowrap !important
}

.shu-allocation-edit-table,
.shu-allocation-table,
.shu-source-table {
  min-width: 720px !important
}

.shu-detail-table {
  min-width: 1320px !important
}

.shu-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 21 !important;
  background: #5f788f !important;
  color: #fff !important;
  border-bottom: 1px solid #4f6579 !important;
  vertical-align: middle !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  min-height: 36px !important
}

.shu-table tfoot th {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 20 !important;
  background: #eef3f8 !important;
  border-top: 1px solid #cfd8e3 !important;
  box-shadow: 0 -1px 0 rgba(0, 0, 0, .06) !important;
  white-space: nowrap !important
}

.shu-table .shu-percent-input {
  min-width: 100% !important;
  width: 100% !important;
  text-align: right !important;
  font-variant-numeric: tabular-nums !important
}

.shu-table tfoot th.text-success,
.shu-table tfoot th.text-danger {
  font-weight: 800 !important
}

.shu-detail-table .tb-col-no {
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  text-align: left !important
}

.shu-detail-table .tb-col-no-anggota {
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
  text-align: left !important;
  font-variant-numeric: tabular-nums !important
}

.shu-detail-table .tb-col-name {
  width: 270px !important;
  min-width: 270px !important;
  max-width: 340px !important
}

.shu-detail-table .tb-col-money {
  width: 135px !important;
  min-width: 135px !important
}

.shu-detail-table tbody .tb-col-no,
.shu-detail-table tbody .tb-col-no-anggota,
.shu-detail-table tbody .tb-col-name {
  position: sticky !important;
  z-index: 9 !important;
  background: inherit !important
}

.shu-detail-table .shu-sticky-no {
  left: 0 !important
}

.shu-detail-table .shu-sticky-no-anggota {
  left: 0 !important
}

.shu-detail-table .shu-sticky-name {
  left: 150px !important;
  box-shadow: 1px 0 0 #d9d9d9 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important
}

.shu-detail-table thead .shu-sticky-no,
.shu-detail-table thead .shu-sticky-no-anggota {
  position: sticky !important;
  left: 0 !important;
  z-index: 32 !important;
  background: #5f788f !important;
  color: #fff !important
}

.shu-detail-table thead .shu-sticky-name {
  position: sticky !important;
  left: 150px !important;
  z-index: 32 !important;
  background: #5f788f !important;
  color: #fff !important
}

.shu-detail-table tfoot .shu-sticky-no,
.shu-detail-table tfoot .shu-sticky-no-anggota {
  position: sticky !important;
  left: 0 !important;
  z-index: 31 !important;
  background: #eef3f8 !important
}

.shu-detail-table tfoot .shu-sticky-name {
  position: sticky !important;
  left: 150px !important;
  z-index: 31 !important;
  background: #eef3f8 !important
}

/* PATCH 22062026: kunci scroll SHU pada area tabel agar sticky header/footer bekerja */
html:has(.shu-workspace),
body.embed-body:has(.shu-workspace) {
  overflow: hidden !important;
}

body.embed-body:has(.shu-workspace) .embed-content {
  height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
}

.shu-workspace {
  height: calc(100vh - 4px) !important;
  max-height: calc(100vh - 4px) !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.shu-workspace .tb-summary-strip,
.shu-workspace .shu-main-toolbar,
.shu-workspace .shu-inner-tabs {
  flex: 0 0 auto !important;
}

.shu-tab-shell {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}

.shu-panel {
  min-height: 0 !important;
  max-height: none !important;
  height: 100% !important;
  overflow: hidden !important;
}

.shu-panel.active {
  display: flex !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}

.shu-hitung-form {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.shu-grid-wrap {
  flex: 1 1 auto !important;
  min-height: 220px !important;
  height: auto !important;
  max-height: none !important;
  overflow: auto !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  position: relative !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  border-top: 1px solid #6f879a !important;
}

.shu-detail-wrap {
  min-height: 260px !important;
}

.shu-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  position: relative !important;
}

.shu-table thead {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

.shu-table thead tr {
  position: relative !important;
  z-index: 101 !important;
}

.shu-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 102 !important;
  background: #5f788f !important;
  color: #fff !important;
  background-clip: padding-box !important;
}

.shu-table tbody td {
  background-clip: padding-box !important;
}

.shu-table tfoot {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 90 !important;
}

.shu-table tfoot tr {
  position: relative !important;
  z-index: 91 !important;
}

.shu-table tfoot th {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 92 !important;
  background: #eef3f8 !important;
  background-clip: padding-box !important;
}

.shu-detail-table .tb-col-no-anggota {
  width: 185px !important;
  min-width: 185px !important;
  max-width: 185px !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-variant-numeric: tabular-nums !important;
}

.shu-detail-table .tb-col-name {
  width: 285px !important;
  min-width: 285px !important;
  max-width: 360px !important;
}

.shu-detail-table .shu-sticky-no-anggota {
  left: 0 !important;
}

.shu-detail-table .shu-sticky-name {
  left: 185px !important;
}

.shu-detail-table thead .shu-sticky-no-anggota {
  left: 0 !important;
  z-index: 130 !important;
}

.shu-detail-table thead .shu-sticky-name {
  left: 185px !important;
  z-index: 129 !important;
}

.shu-detail-table tfoot .shu-sticky-no-anggota {
  left: 0 !important;
  z-index: 120 !important;
}

.shu-detail-table tfoot .shu-sticky-name {
  left: 185px !important;
  z-index: 119 !important;
}

.shu-detail-table tbody .shu-sticky-no-anggota,
.shu-detail-table tbody .shu-sticky-name {
  position: sticky !important;
  z-index: 70 !important;
  background: inherit !important;
  background-clip: padding-box !important;
}

@media(max-width:1100px) {
  .shu-workspace .shu-summary-strip {
    grid-template-columns: repeat(2, minmax(135px, 1fr)) !important
  }

  .shu-panel-toolbar {
    align-items: flex-start !important
  }

  .shu-search-box {
    width: 190px !important
  }
}

@media(max-width:640px) {
  .shu-workspace .shu-summary-strip {
    grid-template-columns: 1fr !important
  }

  .shu-panel-toolbar,
  .shu-detail-actions,
  .shu-input-line {
    width: 100% !important
  }

  .shu-input-line input,
  .shu-search-box {
    width: 100% !important
  }

  .shu-hit-btn {
    width: 100% !important
  }
}

@media print {

  .shu-workspace,
  .shu-tab-shell,
  .shu-panel,
  .shu-hitung-form {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    background: #fff !important;
    border: 0 !important
  }

  .shu-panel:not(.active) {
    display: none !important
  }

  .shu-grid-wrap {
    overflow: visible !important;
    border: 0 !important
  }

  .shu-table thead,
  .shu-table thead th,
  .shu-table tfoot,
  .shu-table tfoot th,
  .shu-detail-table .shu-sticky-no,
  .shu-detail-table .shu-sticky-no-anggota,
  .shu-detail-table .shu-sticky-name {
    position: static !important
  }
}

/* ===== End app/Views/rat/shu.php ===== */


/* ===== Moved from app/Views/rat/table.php ===== */
.rat-table-page {
  gap: 0 !important;
  background: #f4f6f8 !important;
  padding: 12px !important
}

.rat-table-toolbar {
  border: 1px solid #dce3ea !important;
  border-radius: 10px 10px 0 0 !important;
  margin: 0 !important;
  background: #fff !important
}

.rat-table-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #ecfeff;
  color: #0f766e;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase
}

.rat-table-page .accurate-grid-wrap {
  border-radius: 0 0 10px 10px !important;
  background: #fff !important
}

.rat-table-page-only {
  padding: 0 !important;
  background: #fff !important;
  height: 100%;
  overflow: hidden
}

.rat-table-page-only .rat-table-grid-wrap {
  border-radius: 0 !important;
  border: 0 !important;
  height: 100%;
  max-height: none !important;
  min-height: 0 !important
}

.rat-table-grid th,
.rat-table-grid td {
  white-space: nowrap
}

.rat-table-grid th:first-child,
.rat-table-grid td:first-child {
  text-align: left !important
}

@media print {
  .rat-table-page {
    display: block;
    background: #fff !important;
    padding: 0 !important
  }

  .rat-table-page .accurate-grid-wrap {
    overflow: visible !important;
    border: 0 !important
  }

  .rat-table-page table {
    font-size: 10px !important
  }
}

/* ===== End app/Views/rat/table.php ===== */


/* ===== Moved from app/Views/setup/index.php ===== */
.setup-awal-page {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.setup-awal-page .setup-module-tabs,
.setup-awal-page .setup-summary-strip,
.setup-awal-page .setup-toolbar {
  flex: 0 0 auto;
}

.setup-awal-page .setup-summary-strip {
  grid-template-columns: repeat(5, minmax(150px, 1fr));
}

.setup-awal-page .setup-panel {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.setup-awal-page .setup-grid-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  scrollbar-width: thin;
}

.setup-awal-page .setup-grid-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 10 !important;
}

.setup-awal-page .setup-grid-table td,
.setup-awal-page .setup-grid-table th {
  vertical-align: middle !important;
}

.setup-awal-page .setup-step-title {
  min-width: 220px;
}

.setup-awal-page .setup-step-desc {
  min-width: 360px;
}

.setup-awal-page .setup-status-pill {
  white-space: nowrap;
}

.setup-awal-page .setup-validation-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

.setup-awal-page .setup-validation-table {
  min-width: 760px;
}

.setup-module-tabs {
  display: flex;
  align-items: stretch;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  border-bottom: 1px solid #c8cfd5;
  scrollbar-width: thin;
}

.setup-module-tab {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 156px;
  height: 50px;
  padding: 7px 12px;
  color: #2b3541;
  text-decoration: none;
  border: 1px solid #c7cdd3;
  border-bottom-color: #aeb7bf;
  border-radius: 7px 7px 0 0;
  background: linear-gradient(#fbfbfc, #e7eaee);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
  flex: 0 0 auto;
}

.setup-module-tab:hover {
  color: #0d6efd;
  background: linear-gradient(#fff, #edf4ff);
}

.setup-module-tab.active {
  color: #111827;
  background: #fff;
  border-color: #c7cdd3;
  border-top: 2px solid #e91e63;
  border-bottom-color: #fff;
  margin-bottom: -1px;
  box-shadow: 0 -1px 0 rgba(255, 255, 255, .95), 0 1px 2px rgba(0, 0, 0, .04);
}

.setup-module-tab.icon-only {
  min-width: 56px;
  width: 56px;
  justify-content: center;
  padding: 0;
  font-size: 1.15rem;
}

.setup-module-tab .tab-icon {
  font-size: 1.2rem;
  line-height: 1;
  color: #42505f;
}

.setup-module-tab strong {
  display: block;
  font-size: .86rem;
  line-height: 1.05;
  white-space: nowrap;
}

.setup-module-tab small {
  display: block;
  font-size: .72rem;
  line-height: 1.05;
  color: #6b7280;
  white-space: nowrap;
  margin-top: 2px;
}

.setup-module-tab .tab-dot {
  position: absolute;
  right: 7px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #a7b0ba;
  border: 1px solid rgba(255, 255, 255, .8);
}

.setup-module-tab .tab-dot.done {
  background: #2e9d65;
}

.setup-module-tab .tab-dot.warning {
  background: #f0ad2d;
}

.setup-module-tab .tab-dot.pending {
  background: #aeb6bf;
}

.setup-module-tab .tab-dot.optional {
  background: #6c757d;
}

.setup-module-tab .tab-dot.neutral {
  display: none;
}

.setup-module-frame-wrap {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #c8cfd5;
  border-top: 0;
  background: #fff;
}

.setup-module-frame {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}

@media (max-width:1100px) {
  .setup-awal-page .setup-summary-strip {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }

  .setup-module-tab {
    min-width: 145px;
  }
}

@media (max-width:700px) {
  .setup-awal-page .setup-summary-strip {
    grid-template-columns: 1fr;
  }
}

/* ===== End app/Views/setup/index.php ===== */


/* ===== Moved from app/Views/simpanan/form.php ===== */
.simpanan-entry-page {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.simpanan-entry-page .accurate-entry-form {
  height: calc(100% - 44px);
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.simpanan-entry-page .entry-panel {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

.simpanan-entry-page .entry-form-toolbar {
  z-index: 30;
}

.simpanan-entry-page .simpanan-bulk-grid {
  display: grid;
  grid-template-columns: minmax(160px, 255px) minmax(150px, 255px);
  gap: 10px;
  align-items: center;
}

.simpanan-entry-page .simpanan-bulk-label {
  display: flex;
  align-items: center;
  gap: 8px;
}

.simpanan-entry-page .simpanan-bulk-label .badge {
  min-width: 42px;
  justify-content: center;
  display: inline-flex;
}

.simpanan-entry-page .simpanan-bulk-row {
  margin-bottom: 10px;
}

.simpanan-entry-page .simpanan-bulk-total {
  border-top: 1px solid #d8d8d8;
  padding-top: 10px;
  margin-top: 0px;
  display: grid;
  grid-template-columns: minmax(160px, 255px) minmax(150px, 255px);
  gap: 10px;
  align-items: center;
}

@media(max-width:900px) {

  .simpanan-entry-page .simpanan-bulk-grid,
  .simpanan-entry-page .simpanan-bulk-total {
    grid-template-columns: 1fr;
  }
}

/* ===== End app/Views/simpanan/form.php ===== */


/* ===== Moved from app/Views/simpanan/index.php ===== */
/* PATCH: kembalikan scroll kanan tabel Rekap/Transaksi Simpanan setelah patch import */
.simpanan-rekap-page {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.simpanan-rekap-page .simpanan-summary-strip {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  flex: 0 0 auto;
}

.simpanan-rekap-page .accurate-list-toolbar {
  flex: 0 0 auto;
}

.simpanan-rekap-page .simpanan-rekap-grid {
  flex: 1 1 auto !important;
  min-height: 260px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: auto !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  position: relative !important;
  border-top: 1px solid #6f879a !important;
  background: #fff !important;
}

.simpanan-rekap-page .simpanan-rekap-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  width: max-content !important;
  min-width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  font-size: 14px !important;
}

.simpanan-rekap-page .simpanan-rekap-table col.tb-cg-no {
  width: 52px !important;
}

.simpanan-rekap-page .simpanan-rekap-table col.tb-cg-name {
  width: 270px !important;
}

.simpanan-rekap-page .simpanan-rekap-table col.tb-cg-money {
  width: 140px !important;
}

.simpanan-rekap-page .simpanan-rekap-table col.tb-cg-total {
  width: 150px !important;
}

.simpanan-rekap-page .simpanan-rekap-table thead {
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
}

.simpanan-rekap-page .simpanan-rekap-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 42 !important;
  background: #5f788f !important;
  color: #fff !important;
  border-right: 1px solid #8da0b2 !important;
  border-bottom: 1px solid #4f6579 !important;
  height: 34px !important;
  padding: 7px 9px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

.simpanan-rekap-page .simpanan-rekap-table thead tr:nth-child(2) th {
  top: 34px !important;
  z-index: 43 !important;
  background: #6f889d !important;
  height: 32px !important;
}

.simpanan-rekap-page .simpanan-rekap-table tbody td {
  height: 52px !important;
  padding: 6px 9px !important;
  border-bottom: 1px solid #e9e9e9 !important;
  border-right: 1px dotted #d9d9d9 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  vertical-align: middle !important;
  background: inherit !important;
}

.simpanan-rekap-page .simpanan-rekap-table tbody tr:nth-child(odd) {
  background: #fff !important;
}

.simpanan-rekap-page .simpanan-rekap-table tbody tr:nth-child(even) {
  background: #f7f7f7 !important;
}

.simpanan-rekap-page .simpanan-rekap-table tbody tr:hover {
  background: #eef7ff !important;
}

.simpanan-rekap-page .simpanan-rekap-table .tb-col-no,
.simpanan-rekap-page .simpanan-rekap-table .tb-row-no {
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
}

.simpanan-rekap-page .simpanan-rekap-table .tb-col-name,
.simpanan-rekap-page .simpanan-rekap-table .tb-name-cell {
  width: 270px !important;
  min-width: 270px !important;
  max-width: 270px !important;
}

.simpanan-rekap-page .simpanan-rekap-table .tb-col-money,
.simpanan-rekap-page .simpanan-rekap-table .tb-money-display {
  width: 140px !important;
  min-width: 140px !important;
  max-width: 140px !important;
  font-variant-numeric: tabular-nums !important;
}

.simpanan-rekap-page .simpanan-rekap-table .tb-col-total,
.simpanan-rekap-page .simpanan-rekap-table .tb-total-cell {
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
  font-variant-numeric: tabular-nums !important;
}

.simpanan-rekap-page .simpanan-rekap-table thead .tb-col-no,
.simpanan-rekap-page .simpanan-rekap-table tbody .tb-row-no {
  position: sticky !important;
  left: 0 !important;
  z-index: 10 !important;
  background: #fff !important;
  background-clip: padding-box !important;
  box-shadow: 1px 0 0 #c7cfd7 !important;
}

.simpanan-rekap-page .simpanan-rekap-table thead .tb-col-name,
.simpanan-rekap-page .simpanan-rekap-table tbody .tb-name-cell {
  position: sticky !important;
  left: 52px !important;
  z-index: 10 !important;
  background: #fff !important;
  background-clip: padding-box !important;
  box-shadow: 2px 0 0 #c7cfd7 !important;
}

.simpanan-rekap-page .simpanan-rekap-table thead .tb-col-no,
.simpanan-rekap-page .simpanan-rekap-table thead .tb-col-name {
  z-index: 130 !important;
  background: #5f788f !important;
  color: #fff !important;
}

.simpanan-rekap-page .simpanan-rekap-table tbody tr:nth-child(odd) .tb-row-no,
.simpanan-rekap-page .simpanan-rekap-table tbody tr:nth-child(odd) .tb-name-cell {
  background: #fff !important;
}

.simpanan-rekap-page .simpanan-rekap-table tbody tr:nth-child(even) .tb-row-no,
.simpanan-rekap-page .simpanan-rekap-table tbody tr:nth-child(even) .tb-name-cell {
  background: #f7f7f7 !important;
}

.simpanan-rekap-page .simpanan-rekap-table tbody tr:hover .tb-row-no,
.simpanan-rekap-page .simpanan-rekap-table tbody tr:hover .tb-name-cell {
  background: #eef7ff !important;
}

.simpanan-rekap-page .simpanan-rekap-table tfoot {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 60 !important;
}

.simpanan-rekap-page .simpanan-rekap-table tfoot th {
  background: #eef3f8 !important;
  color: #111 !important;
  font-weight: 700 !important;
  border-top: 1px solid #5f788f !important;
  border-right: 1px dotted #d9d9d9 !important;
  height: 36px !important;
  padding: 8px 9px !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}

.simpanan-rekap-page .simpanan-rekap-table tfoot th:first-child {
  position: sticky !important;
  left: 0 !important;
  z-index: 100 !important;
  width: 322px !important;
  min-width: 322px !important;
  max-width: 322px !important;
  background: #eef3f8 !important;
  box-shadow: 2px 0 0 #c7cfd7 !important;
}

.simpanan-rekap-page .tb-search-box {
  width: 240px;
}

.simpanan-rekap-page .simpanan-bulan-wrap {
  display: inline-flex;
}

.simpanan-rekap-page .simpanan-produk-select {
  min-width: 230px;
}

.simpanan-rekap-page .simpanan-filter-autosubmit .toolbar-select {
  cursor: pointer;
}

@media (max-width:900px) {
  .simpanan-rekap-page .simpanan-summary-strip {
    grid-template-columns: 1fr;
  }

  .simpanan-rekap-page .tb-search-box {
    width: 180px;
  }
}

/* ===== End app/Views/simpanan/index.php ===== */


/* ===== Moved from app/Views/simpanan/saldo_awal.php ===== */
.saldo-awal-simpanan-page {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.saldo-awal-simpanan-page .simpanan-summary-strip {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  flex: 0 0 auto;
  margin-bottom: 8px;
}

.saldo-awal-simpanan-page .tb-grid-wrap {
  flex: 1 1 auto;
  min-height: 260px;
  overflow: auto;
  background: #fff;
  border-top: 1px solid #6f879a;
}

.saldo-awal-simpanan-page .saldo-awal-table {
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  width: max-content;
  min-width: 100%;
  font-size: 14px;
}

.saldo-awal-simpanan-page .saldo-awal-table th {
  position: sticky;
  top: 0;
  z-index: 40;
  background: #5f788f;
  color: #fff;
  border-right: 1px solid #8da0b2;
  border-bottom: 1px solid #4f6579;
  height: 34px;
  padding: 7px 9px;
  white-space: nowrap;
}

.saldo-awal-simpanan-page .saldo-awal-table thead tr:nth-child(2) th {
  top: 34px;
  z-index: 41;
  background: #6f889d;
}

.saldo-awal-simpanan-page .saldo-awal-table td {
  height: 48px;
  padding: 6px 9px;
  border-bottom: 1px solid #e9e9e9;
  border-right: 1px dotted #d9d9d9;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.saldo-awal-simpanan-page .saldo-awal-table tbody tr:nth-child(odd) {
  background: #fff;
}

.saldo-awal-simpanan-page .saldo-awal-table tbody tr:nth-child(even) {
  background: #f7f7f7;
}

.saldo-awal-simpanan-page .saldo-awal-table tbody tr:hover {
  background: #eef7ff;
}

.saldo-awal-simpanan-page .saldo-awal-table .col-no {
  width: 52px !important;
}

.saldo-awal-simpanan-page .saldo-awal-table .col-name {
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}

.saldo-awal-simpanan-page .saldo-awal-table .col-money {
  width: 140px;
  min-width: 140px;
  max-width: 140px;
  font-variant-numeric: tabular-nums;
}

.saldo-awal-simpanan-page .saldo-awal-table .col-total {
  width: 150px;
  min-width: 150px;
  max-width: 150px;
  font-variant-numeric: tabular-nums;
}

.saldo-awal-simpanan-page .saldo-awal-table .sticky-no {
  position: sticky;
  left: 0;
  z-index: 10;
  background: inherit;
  box-shadow: 1px 0 0 #c7cfd7;
}

.saldo-awal-simpanan-page .saldo-awal-table .sticky-name {
  position: sticky;
  left: 52px;
  z-index: 10;
  background: inherit;
  box-shadow: 2px 0 0 #c7cfd7;
}

.saldo-awal-simpanan-page .saldo-awal-table thead .sticky-no,
.saldo-awal-simpanan-page .saldo-awal-table thead .sticky-name {
  z-index: 120;
  background: #5f788f;
  color: #fff;
}

.saldo-awal-simpanan-page .saldo-awal-table tfoot {
  position: sticky;
  bottom: 0;
  z-index: 60;
}

.saldo-awal-simpanan-page .saldo-awal-table tfoot th {
  background: #eef3f8;
  color: #111;
  font-weight: 700;
  border-top: 1px solid #5f788f;
  border-right: 1px dotted #d9d9d9;
  height: 36px;
  padding: 8px 9px;
  white-space: nowrap;
}

.saldo-awal-simpanan-page .saldo-awal-table tfoot th:first-child {
  position: sticky;
  left: 0;
  z-index: 90;
  width: 400px;
  background: #eef3f8;
  box-shadow: 2px 0 0 #c7cfd7;
}

.saldo-awal-simpanan-page .tb-search-box {
  width: 260px;
}

.saldo-awal-simpanan-page .saldo-awal-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: nowrap;
}

.saldo-awal-simpanan-page .saldo-awal-toolbar-left,
.saldo-awal-simpanan-page .saldo-awal-toolbar-right {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.saldo-awal-simpanan-page .saldo-awal-toolbar-left {
  flex: 0 0 auto;
}

.saldo-awal-simpanan-page .saldo-awal-toolbar-right {
  margin-left: auto;
  justify-content: flex-end;
  flex: 1 1 auto;
}

.saldo-awal-simpanan-page .saldo-awal-toolbar .toolbar-select {
  height: 34px;
}

.saldo-awal-simpanan-page .saldo-awal-toolbar .toolbar-year {
  width: 128px;
}

.saldo-awal-simpanan-page .saldo-awal-toolbar .toolbar-count {
  width: 70px;
  text-align: center;
}

.saldo-awal-simpanan-page .saldo-note {
  padding: 7px 10px;
  background: #fff4c7;
  border: 1px solid #ecd889;
  border-radius: 4px;
  color: #5d4b00;
  font-size: 12px;
  line-height: 1.35;
  margin-bottom: 8px;
}

.saldo-awal-simpanan-page .saldo-info {
  font-size: 12px;
  line-height: 1.45;
}

@media(max-width:900px) {
  .saldo-awal-simpanan-page .simpanan-summary-strip {
    grid-template-columns: 1fr
  }

  .saldo-awal-simpanan-page .saldo-awal-toolbar {
    flex-wrap: wrap
  }

  .saldo-awal-simpanan-page .saldo-awal-toolbar-right {
    justify-content: flex-start;
    margin-left: 0
  }

  .saldo-awal-simpanan-page .tb-search-box {
    width: 180px
  }
}

/* ===== End app/Views/simpanan/saldo_awal.php ===== */


/* ===== Moved from app/Views/user_access/index.php ===== */
.user-access-page-v23 .inner-list-tab.active,
.user-access-page-v23 .inner-data-tab.active,
.user-access-page-v23 .accurate-inner-tabs .active {
  background: #d9d9d9 !important;
  color: #222 !important;
  border-color: #aaa !important;
  box-shadow: none !important;
}

.user-access-page-v23 .accurate-list-toolbar {
  gap: 8px;
}

.user-access-page-v23 .user-access-toolbar-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
}

.user-access-page-v23 .user-access-toolbar-left,
.user-access-page-v23 .user-access-toolbar-right {
  display: flex;
  align-items: center;
  gap: 6px;
}

.user-access-page-v23 .user-access-search {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}

.user-access-page-v23 .user-access-search-box {
  position: relative;
  display: flex;
  align-items: center;
}

.user-access-page-v23 .user-access-search-box input {
  width: 225px;
  height: 35px;
  border-radius: 4px;
  padding-right: 38px;
}

.user-access-page-v23 .user-access-search-box button {
  position: absolute;
  right: 2px;
  top: 1px;
  bottom: 1px;
  border: 0;
  background: transparent;
  color: #111;
  height: auto;
  width: 34px;
  padding: 0;
  display: grid;
  place-items: center;
  line-height: 1;
  transform: none;
}

.user-access-page-v23 .user-access-search-box button i {
  font-size: 18px;
  line-height: 1;
  display: block;
}

.user-access-page-v23 .toolbar-count {
  width: 70px;
  text-align: right;
  background: #f7f7f7;
}

.user-access-page-v23 .role-card-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.user-access-page-v23 .role-access-card {
  border: 1px solid #d3d8de;
  border-radius: 6px;
  background: #fff;
  padding: 12px;
  min-height: 116px;
}

.user-access-page-v23 .role-access-card span {
  display: block;
  font-weight: 700;
  color: #263746;
  margin-bottom: 4px;
}

.user-access-page-v23 .role-access-card strong {
  display: block;
  font-size: 18px;
  color: #0f3d5e;
  margin-bottom: 6px;
}

@media (max-width: 900px) {
  .user-access-page-v23 .role-card-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .user-access-page-v23 .user-access-toolbar-line {
    align-items: flex-start;
    flex-direction: column;
  }

  .user-access-page-v23 .user-access-toolbar-right {
    width: 100%;
    justify-content: flex-end;
  }

  .user-access-page-v23 .user-access-search-box input {
    width: 100%;
    min-width: 220px;
  }
}

/* ===== End app/Views/user_access/index.php ===== */


/* ===== Moved from app/Views/whatsapp/index.php ===== */
.wa-page-v174 {
  height: 100%;
  min-height: 0;
  overflow: hidden
}

.wa-list-page {
  display: flex;
  flex-direction: column;
  /* gap: 6px; */
  background: #f5f7fb
}

.wa-main-tabs {
  flex: 0 0 auto
}

.wa-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  flex: 0 0 auto;
  margin: 0
}

.wa-toolbar {
  flex: 0 0 auto
}

.wa-scroll,
.wa-preview-grid {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto !important;
  background: #fff;
  border: 1px solid #d7dde5
}

.wa-page-v174 .tb-grid-table,
.wa-page-v174 .accurate-grid-table {
  font-size: 13px
}

.wa-page-v174 .tb-grid-table thead th,
.wa-page-v174 .accurate-grid-table thead th {
  position: sticky;
  top: 0;
  z-index: 8;
  background: #5f788f !important;
  color: #fff !important;
  white-space: nowrap
}

.wa-message-preview {
  max-height: 74px;
  overflow: auto;
  white-space: normal;
  line-height: 1.35
}

.wa-outbox-table {
  min-width: 1320px
}

.wa-campaign-table {
  min-width: 1320px
}

.wa-preview-table {
  min-width: 680px
}

.wa-action-buttons .btn {
  width: 30px;
  height: 28px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center
}

.wa-page-v174 .toolbar-count {
  max-width: 74px;
  text-align: center
}

.wa-page-v174 .user-access-search-box {
  min-width: 220px
}

.wa-page-v174 .badge {
  font-weight: 600
}

.wa-data-baru-page,
.wa-data-page {
  background: #f5f7fb
}

.wa-page-v174 .accurate-entry-form {
  height: calc(100% - 44px);
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  background: #fff
}

.wa-page-v174 .entry-tabs {
  flex: 0 0 auto
}

.wa-page-v174 .entry-panel {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 16px 20px 60px
}

.wa-page-v174 .entry-form-toolbar {
  z-index: 30
}

.wa-page-v174 .classic-field {
  grid-template-columns: 185px minmax(220px, 320px) minmax(0, 1fr)
}

.wa-page-v174 .classic-field-textarea {
  align-items: start
}

.wa-message-classic {
  grid-template-columns: 120px minmax(0, 1fr) !important
}

.wa-entry-bottom {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 18;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #f8fafc;
  border-top: 1px solid #d7dde5;
  padding: 10px 18px;
  color: #52616f;
  font-size: 13px
}

.wa-entry-bottom .btn {
  min-width: 160px
}

.wa-page-v174 textarea.form-control {
  resize: vertical
}

.wa-page-v174 .form-control,
.wa-page-v174 .form-select {
  font-size: 13px
}

.wa-page-v174 .alert {
  font-size: 13px
}

.wa-data-page .accurate-entry-form {
  max-width: none
}

.wa-data-page .entry-panel {
  padding-bottom: 20px
}

.wa-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px
}

.wa-template-page .wa-template-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden !important
}

.wa-template-list-wrap {
  flex: 1 1 auto;
  min-height: 240px;
  max-height: calc(100vh - 210px);
  overflow: auto !important
}

.wa-template-table {
  min-width: 980px
}

.wa-template-table thead th {
  position: sticky;
  top: 0;
  z-index: 9
}

.wa-template-table .wa-message-preview {
  max-height: 64px;
  overflow: auto
}

.wa-template-form {
  display: block
}

.wa-template-page .toolbar-count {
  max-width: 74px;
  text-align: center
}

@media(max-width:1100px) {
  .wa-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .wa-page-v174 {
    overflow: auto
  }

  .wa-list-page {
    height: auto;
    min-height: 100%
  }

  .wa-page-v174 .accurate-entry-form {
    height: auto;
    min-height: calc(100vh - 100px);
    overflow: visible
  }

  .wa-page-v174 .entry-panel {
    overflow: visible
  }

  .wa-page-v174 .classic-field,
  .wa-message-classic {
    grid-template-columns: 1fr !important
  }

  .wa-entry-bottom {
    position: static;
    flex-direction: column;
    align-items: stretch
  }

  .wa-page-v174 .user-access-search-box {
    min-width: 160px
  }
}

@media(max-width:1100px) {
  .wa-template-list-wrap {
    max-height: none;
    min-height: 260px
  }

  .wa-section-head {
    align-items: flex-start
  }
}

/* ===== End app/Views/whatsapp/index.php ===== */


/* Generated classes replacing static style attributes. */
.ui-inline-93001ac2 {
  padding: 0px;
}

.ui-inline-6ed85817 {
  width: 54px;
}

.ui-inline-db8a217b {
  width: 120px;
}

.ui-inline-ef3dcebd {
  width: 190px;
}

.ui-inline-ed5b9a51 {
  width: 150px;
}

.ui-inline-b4b3d0f1 {
  width: 52px;
}

.ui-inline-cfbe03e8 {
  width: 170px;
}

.ui-inline-3e2e7c3c {
  display: none !important;
}

.ui-inline-9f172409 {
  padding-top: 8px !important;
}

.ui-inline-5156b335 {
  width: 92px;
}

.ui-inline-588a2d61 {
  min-width: 310px !important;
}

.ui-inline-120e7e1c {
  padding: .25rem 0 0;
  border: 0;
}

.ui-inline-8e39bd94 {
  overflow: hidden;
}

.ui-inline-8fac49c8 {
  max-height: calc(100vh - 360px);
  min-height: 320px;
}

.ui-inline-494ee860 {
  width: 46px;
  height: 46px;
}

.ui-inline-4dd91648 {
  width: 44px;
  height: 44px;
}

.ui-inline-5c9fd965 {
  white-space: pre-wrap;
}

.ui-inline-7468a816 {
  width: 48px;
  height: 48px;
}

.ui-inline-ee62304d {
  max-width: 190px;
}

.ui-inline-93b8ea5b {
  display: none;
}

.ui-inline-224b51a7 {
  display: none;
}

.ui-inline-7daf6ba9 {
  width: 130px;
}

.ui-inline-a712ff5d {
  width: 260px;
}

.ui-inline-1bca6419 {
  width: 56px;
}

.ui-inline-64fa8f47 {
  width: 160px;
}

.ui-inline-9d507142 {
  width: 116px;
}

.ui-inline-b7b684fe {
  min-height: 475px !important;
}

.ui-inline-483a7dc9 {
  grid-template-columns: 170px 385px !important;
}

.ui-inline-dd6e39e6 {
  grid-template-columns: 100% !important;
}

.ui-inline-019128fe {
  min-width: 220px;
}

.ui-inline-a9221c85 {
  width: 40px;
}

.ui-inline-51346740 {
  width: 100px;
}

.ui-inline-757ff2de {
  width: 90px;
}

.ui-inline-22991e68 {
  width: 135px;
}

.ui-inline-4afc7852 {
  width: 115px;
}

.ui-inline-10e8bb83 {
  width: 110px;
}

.ui-inline-a2ad197f {
  width: 180px;
}

.ui-inline-8935a6a1 {
  width: 80px;
}

.ui-inline-9c6a2dc9 {
  width: 48px;
}

.ui-inline-ebafbe31 {
  width: 105px;
}

.ui-inline-c4c12b2d {
  width: 220px;
}

.ui-inline-54cd26cf {
  width: 140px;
}

.ui-inline-0a933d55 {
  width: 44px;
}

.ui-inline-b37fe183 {
  display: grid;
  grid-template-columns: minmax(250px, 1.2fr) minmax(210px, 1fr) minmax(210px, 1fr) minmax(260px, 1.15fr) 118px 118px;
  gap: 10px;
  align-items: stretch;
  overflow-x: auto;
  padding-bottom: 2px;
}

.ui-inline-e43d5558 {
  min-height: 118px;
  height: 118px;
}

.ui-inline-0c05fca1 {
  font-size: 3.4rem;
  line-height: 1;
}

.ui-inline-670953fe {
  width: 118px;
  min-width: 118px;
  height: 118px;
  min-height: 118px;
  padding: 0;
  background: #198754;
  border-color: #198754;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .22);
  opacity: .55;
}

.ui-inline-57396633 {
  font-size: 3.2rem;
  line-height: 1;
}


/* Helpers pengganti CSS inline dinamis. */
.d-none-force {
  display: none !important;
}

.anggota-suggest-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.18;
}

.anggota-suggest-name {
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.anggota-suggest-code {
  font-size: 12px;
  font-style: italic;
  color: #556;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2px;
}

.akun-level-0.akuntansi-indent-fix {
  padding-left: 0 !important;
}

.akun-level-1.akuntansi-indent-fix {
  padding-left: 18px !important;
}

.akun-level-2.akuntansi-indent-fix {
  padding-left: 36px !important;
}

.akun-level-3.akuntansi-indent-fix {
  padding-left: 54px !important;
}

.akun-level-4.akuntansi-indent-fix {
  padding-left: 72px !important;
}

.akun-level-5.akuntansi-indent-fix {
  padding-left: 90px !important;
}

.akun-level-6.akuntansi-indent-fix {
  padding-left: 108px !important;
}

.akun-level-7.akuntansi-indent-fix {
  padding-left: 126px !important;
}

.rat-dash-progress [data-progress-width] {
  display: block;
  height: 100%;
}

.accurate-mark.kpri-logo-wrap {
  overflow: hidden;
}

.accurate-mark-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/* Named classes replacing remaining inline style attributes. */
.piutang-status-full {
  width: 100%;
  font-size: .78rem;
  padding: .44rem .65rem;
  border-radius: .35rem;
}

.piutang-action-tile {
  width: 118px;
  min-width: 118px;
  height: 118px;
  min-height: 118px;
  padding: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .22);
}

.piutang-action-pay {
  background: #198754 !important;
  border-color: #198754 !important;
}

.piutang-action-edit {
  background: #f59e0b !important;
  border-color: #f59e0b !important;
}

.piutang-action-disabled {
  opacity: .55;
}

.piutang-action-icon-pay {
  font-size: 3.4rem;
  line-height: 1;
}

.piutang-action-icon-edit {
  font-size: 3.2rem;
  line-height: 1;
}

.unit-kerja-old-select {
  width: 270px !important;
  min-width: 270px !important;
}

.unit-kerja-new-input {
  width: 300px;
  max-width: 300px;
}

.pinjam-saldo-date {
  max-width: 180px;
}

.hidden-action {
  display: none !important;
}

/* =========================================================
   INTERNAL TAB PANEL STANDARDIZATION - OTHER PAGES ONLY
   - Mengikuti struktur panel Master Anggota/Data Anggota Baru.
   - Scoped hanya untuk .tab-colom-auto hasil JS.
   - .tab-colom bawaan Master Anggota/Data Anggota Baru tidak disentuh.
   ========================================================= */
.tab-colom.tab-colom-auto {
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  padding: 8px !important;
  border: 1px solid #ccd0c9 !important;
  border-top: 0 !important;
}

.tab-colom.tab-colom-auto>.accurate-list-toolbar,
.tab-colom.tab-colom-auto>form>.accurate-list-toolbar {
  flex: 0 0 auto !important;
  margin: 0 !important;
  /* border: 1px solid #bdbdbd !important;
  border-top: 0 !important;
  background: #f5f5f5 !important;
  padding: 11px 12px 12px !important; */
}

.tab-colom.tab-colom-auto>.accurate-grid-wrap,
.tab-colom.tab-colom-auto>.auto-grid-wrap,
.tab-colom.tab-colom-auto>form>.accurate-grid-wrap,
.tab-colom.tab-colom-auto>form>.auto-grid-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  margin: 0 !important;
}

.tab-colom.tab-colom-auto>.accurate-entry-form,
.tab-colom.tab-colom-auto>form.accurate-entry-form,
.tab-colom.tab-colom-auto>.akun-entry-form,
.tab-colom.tab-colom-auto>form.akun-entry-form {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  width: 100% !important;
}

.tab-colom.tab-colom-auto>.accurate-card,
.tab-colom.tab-colom-auto>.card,
.tab-colom.tab-colom-auto>.accurate-module-grid,
.tab-colom.tab-colom-auto>.accurate-entry-form.accurate-inline-form,
.tab-colom.tab-colom-auto>form.accurate-entry-form.accurate-inline-form {
  border: 1px solid #bfbfbf !important;
  border-radius: 0 0 5px 5px !important;
  box-shadow: 0 2px 9px rgba(0, 0, 0, .12) !important;
  background: #fff !important;
}

.tab-colom.tab-colom-auto .entry-panel,
.tab-colom.tab-colom-auto .setting-field-area,
.tab-colom.tab-colom-auto .accurate-list-toolbar,
.tab-colom.tab-colom-auto .accurate-grid-wrap {
  box-sizing: border-box !important;
}

@media(max-width:900px) {
  .tab-colom.tab-colom-auto {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 6px 10px !important;
  }
}

/* =========================================================
   TOOLBAR ACTION ROW STANDARDIZATION
   - Membuat toolbar-row-action / tb-action-row memakai pola visual
     seperti toolbar-row-filter: rapat, sejajar, wrap rapi, dan konsisten.
   - Scoped ke halaman lain / panel otomatis agar CSS Master Anggota dan
     Data Anggota Baru yang sudah memakai .tab-colom asli tidak disentuh.
   ========================================================= */
.tab-colom.tab-colom-auto .toolbar-row-action,
.tab-colom.tab-colom-auto .toolbar-row.tb-action-row,
.tb-ui-page .tb-toolbar .toolbar-row-action,
.tb-ui-page .tb-toolbar .toolbar-row.tb-action-row,
.akun-accurate-page .toolbar-row-action,
.akuntansi-akun-page .toolbar-row-action,
.rat-arsip-toolbar .toolbar-row-action,
.rat-lampiran-toolbar .toolbar-row-action {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
}

.tab-colom.tab-colom-auto .accurate-list-toolbar .toolbar-row-action,
.tab-colom.tab-colom-auto .tb-toolbar .toolbar-row.tb-action-row,
.tb-ui-page .tb-toolbar .toolbar-row-action,
.tb-ui-page .tb-toolbar .toolbar-row.tb-action-row,
.akun-accurate-page .toolbar-row-action,
.akuntansi-akun-page .toolbar-row-action {
  padding: 0 !important;
}

.tab-colom.tab-colom-auto .toolbar-row-filter+.toolbar-row-action,
.tab-colom.tab-colom-auto .toolbar-row-filter+.toolbar-row.tb-action-row,
.tb-ui-page .tb-toolbar .tb-filter-row+.tb-action-row,
.akun-accurate-page .toolbar-filter-row+.toolbar-row-action,
.akuntansi-akun-page .toolbar-filter-row+.toolbar-row-action,
.rat-arsip-toolbar .toolbar-row-filter+.toolbar-row-action,
.rat-lampiran-toolbar .toolbar-row-filter+.toolbar-row-action {
  margin-top: 8px !important;
}

.tab-colom.tab-colom-auto .toolbar-row-action .toolbar-left-actions,
.tab-colom.tab-colom-auto .toolbar-row-action .toolbar-right-actions,
.tab-colom.tab-colom-auto .tb-action-row .toolbar-left-actions,
.tab-colom.tab-colom-auto .tb-action-row .toolbar-right-actions,
.tb-ui-page .tb-toolbar .tb-action-row .toolbar-left-actions,
.tb-ui-page .tb-toolbar .tb-action-row .toolbar-right-actions,
.akun-accurate-page .toolbar-row-action .toolbar-left-actions,
.akun-accurate-page .toolbar-row-action .toolbar-right-actions,
.akuntansi-akun-page .toolbar-row-action .toolbar-left-actions,
.akuntansi-akun-page .toolbar-row-action .toolbar-right-actions,
.rat-arsip-toolbar .toolbar-row-action .toolbar-left-actions,
.rat-arsip-toolbar .toolbar-row-action .toolbar-right-actions,
.rat-lampiran-toolbar .toolbar-row-action .toolbar-left-actions,
.rat-lampiran-toolbar .toolbar-row-action .toolbar-right-actions {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  min-height: 35px !important;
}

.tab-colom.tab-colom-auto .toolbar-row-action .toolbar-right-actions,
.tab-colom.tab-colom-auto .tb-action-row .toolbar-right-actions,
.tb-ui-page .tb-toolbar .tb-action-row .toolbar-right-actions,
.akun-accurate-page .toolbar-row-action .toolbar-right-actions,
.akuntansi-akun-page .toolbar-row-action .toolbar-right-actions,
.rat-arsip-toolbar .toolbar-row-action .toolbar-right-actions,
.rat-lampiran-toolbar .toolbar-row-action .toolbar-right-actions {
  margin-left: auto !important;
  justify-content: flex-end !important;
}

@media(max-width:900px) {

  .tab-colom.tab-colom-auto .toolbar-row-action .toolbar-right-actions,
  .tab-colom.tab-colom-auto .tb-action-row .toolbar-right-actions,
  .tb-ui-page .tb-toolbar .tb-action-row .toolbar-right-actions,
  .akun-accurate-page .toolbar-row-action .toolbar-right-actions,
  .akuntansi-akun-page .toolbar-row-action .toolbar-right-actions,
  .rat-arsip-toolbar .toolbar-row-action .toolbar-right-actions,
  .rat-lampiran-toolbar .toolbar-row-action .toolbar-right-actions {
    width: 100% !important;
    margin-left: 0 !important;
    justify-content: flex-start !important;
  }
}
/* ===== Patch: Audit log filter and clean grid ===== */
.audit-page .audit-filter-row,
.audit-page .audit-action-row {
  align-items: center !important;
}

.audit-page .toolbar-date {
  width: 150px !important;
  height: 35px !important;
  border-radius: 4px !important;
  border-color: #bfc7cf !important;
}

.audit-page .audit-module-select {
  min-width: 170px !important;
}

.audit-page .audit-limit-select {
  min-width: 112px !important;
}

.audit-grid-wrap {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

.audit-grid-table th:nth-child(1),
.audit-grid-table td:nth-child(1) {
  width: 154px;
}

.audit-grid-table th:nth-child(2),
.audit-grid-table td:nth-child(2) {
  width: 160px;
}

.audit-grid-table th:nth-child(3),
.audit-grid-table td:nth-child(3) {
  width: 140px;
}

.audit-grid-table th:nth-child(4),
.audit-grid-table td:nth-child(4) {
  width: 130px;
}

.audit-grid-table th:nth-child(6),
.audit-grid-table td:nth-child(6) {
  width: 130px;
}

.audit-module-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  border: 1px solid #dbeafe;
  background: #eff6ff;
  color: #1768e5;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
}

@media(max-width:760px) {
  .audit-page .toolbar-date,
  .audit-page .audit-module-select,
  .audit-page .audit-limit-select {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* ===== Patch: Buku Laporan RAT scroll and Daftar Isi like Bantuan/Panduan ===== */
body.rat-book-body,
.embed-body.rat-book-body {
  overflow: auto !important;
  height: auto !important;
  min-height: 100vh !important;
}

body.rat-book-body .embed-content,
.embed-body.rat-book-body .embed-content {
  height: auto !important;
  min-height: 100vh !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 0 14px !important;
}

body.rat-book-body .rat-page,
.embed-body.rat-book-body .rat-page {
  height: auto !important;
  max-height: none !important;
  min-height: 100vh !important;
  overflow: visible !important;
  background: #eef0f3 !important;
  padding: 10px !important;
}

body.rat-book-body .rat-book-toolbar,
.embed-body.rat-book-body .rat-book-toolbar {
  border-radius: 4px !important;
  border-color: #c8c8c8 !important;
  box-shadow: none !important;
  margin-bottom: 10px !important;
}

body.rat-book-body .rat-book-layout,
.embed-body.rat-book-body .rat-book-layout {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body.rat-book-body .rat-book-nav,
.embed-body.rat-book-body .rat-book-nav {
  position: sticky !important;
  top: 10px !important;
  height: auto !important;
  max-height: calc(100vh - 20px) !important;
  overflow: auto !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  border: 1px solid #c8c8c8 !important;
  background: #fff !important;
  padding: 10px !important;
  display: block !important;
  scrollbar-width: thin;
}

body.rat-book-body .rat-book-nav-title,
.embed-body.rat-book-body .rat-book-nav-title {
  font-weight: 800 !important;
  color: #333 !important;
  border-bottom: 1px solid #ddd !important;
  padding: 4px 2px 10px !important;
  margin-bottom: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: .92rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.rat-book-body .rat-book-nav a,
.embed-body.rat-book-body .rat-book-nav a {
  width: 100% !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #333 !important;
  border-radius: 4px !important;
  padding: 9px 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-align: left !important;
  font-weight: 600 !important;
  font-size: .9rem !important;
  margin-bottom: 4px !important;
  text-decoration: none !important;
}

body.rat-book-body .rat-book-nav a:hover,
body.rat-book-body .rat-book-nav a:focus,
body.rat-book-body .rat-book-nav a.active,
.embed-body.rat-book-body .rat-book-nav a:hover,
.embed-body.rat-book-body .rat-book-nav a:focus,
.embed-body.rat-book-body .rat-book-nav a.active {
  background: #e7f0ff !important;
  color: #1768e5 !important;
  border-color: #cfe0ff !important;
}

body.rat-book-body .rat-book-document,
.embed-body.rat-book-body .rat-book-document {
  display: grid !important;
  gap: 10px !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding-right: 0 !important;
  min-width: 0 !important;
}

body.rat-book-body .rat-doc-section,
.embed-body.rat-book-body .rat-doc-section {
  border-radius: 4px !important;
  border-color: #c8c8c8 !important;
  box-shadow: none !important;
  scroll-margin-top: 14px !important;
}

@media(max-width:1100px) {
  body.rat-book-body .rat-book-layout,
  .embed-body.rat-book-body .rat-book-layout {
    grid-template-columns: 1fr !important;
  }

  body.rat-book-body .rat-book-nav,
  .embed-body.rat-book-body .rat-book-nav {
    position: static !important;
    max-height: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
  }

  body.rat-book-body .rat-book-nav-title,
  .embed-body.rat-book-body .rat-book-nav-title {
    width: 100% !important;
  }

  body.rat-book-body .rat-book-nav a,
  .embed-body.rat-book-body .rat-book-nav a {
    width: auto !important;
    margin-bottom: 0 !important;
  }
}

@media(max-width:700px) {
  body.rat-book-body .rat-page,
  .embed-body.rat-book-body .rat-page {
    padding: 8px !important;
  }

  body.rat-book-body .rat-book-toolbar,
  .embed-body.rat-book-body .rat-book-toolbar {
    flex-wrap: wrap !important;
  }

  body.rat-book-body .rat-book-toolbar .ms-auto,
  .embed-body.rat-book-body .rat-book-toolbar .ms-auto {
    margin-left: 0 !important;
  }
}

/* ===== Patch: Dropdown Jenis Simpanan/non-akun text fix moved from JS ===== */
.searchable-select.searchable-select-inline-search .ss-option:not(.ss-option-account):not(.ss-option-member):not(.ss-option-jenis-simpanan) {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 22px !important;
  min-height: 38px !important;
  padding: 8px 12px !important;
}

.searchable-select.searchable-select-inline-search .ss-option:not(.ss-option-account).is-bold {
  font-weight: 700;
}

.searchable-select.searchable-select-inline-search .ss-option:not(.ss-option-account).is-selected {
  font-weight: 600;
}

.searchable-select.searchable-select-inline-search .ss-option-jenis-simpanan {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 7px 12px !important;
  direction: ltr !important;
  unicode-bidi: normal !important;
  overflow: hidden !important;
}

.searchable-select.searchable-select-inline-search .ss-option-jenis-simpanan .ss-simpanan-main {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  line-height: 1.18;
}

.searchable-select.searchable-select-inline-search .ss-option-jenis-simpanan .ss-simpanan-code {
  margin-top: 3px;
  font-size: 12px;
  font-style: italic;
  color: #556;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  line-height: 1.15;
}

/* Audit Transaksi & Jurnal Otomatis */
.akuntansi-audit-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 14px;
  min-height: calc(100vh - 220px);
}

.akuntansi-audit-left {
  background: #fff;
  border: 1px solid #cfd6df;
  border-radius: 5px;
  padding: 10px;
  align-self: start;
  position: sticky;
  top: 10px;
  max-height: calc(100vh - 150px);
  overflow: auto;
}

.akuntansi-audit-page .guide-list-title {
  font-size: .84rem;
  font-weight: 800;
  color: #526072;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 4px 5px 9px;
  border-bottom: 1px solid #e6edf5;
  margin-bottom: 8px;
}

.akuntansi-audit-page .guide-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  color: #263445;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 5px;
  padding: 9px;
  margin-bottom: 6px;
  background: #f8fafc;
}

.akuntansi-audit-page .guide-list-item:hover {
  border-color: #b9c7d9;
  background: #fff;
}

.akuntansi-audit-page .guide-list-item b,
.audit-check-head h4 {
  display: block;
  font-size: .95rem;
  margin: 0;
}

.akuntansi-audit-page .guide-list-item small {
  display: block;
  color: #728096;
  font-size: .76rem;
  margin-top: 2px;
}

.akuntansi-audit-page .guide-list-item.is-ok i {
  color: #198754;
}

.akuntansi-audit-page .guide-list-item.has-issue i {
  color: #d97706;
}

.akuntansi-audit-content {
  min-width: 0;
  display: grid;
  gap: 12px;
}

.audit-intro-alert {
  border-radius: 5px;
  margin-bottom: 0;
}

.audit-check-card {
  background: #fff;
  border: 1px solid #cfd6df;
  border-radius: 5px;
  padding: 12px;
}

.audit-check-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  border-bottom: 1px solid #e6edf5;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.audit-check-head p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: .88rem;
}

.audit-status-box {
  width: 118px;
  flex: 0 0 118px;
  border: 1px solid #e6edf5;
  border-radius: 5px;
  padding: 8px;
  text-align: center;
  background: #f8fafc;
}

.audit-status-box strong {
  display: block;
  font-size: 1.3rem;
  margin-top: 5px;
  line-height: 1;
}

.audit-status-box small {
  color: #728096;
  font-size: .75rem;
}

.audit-sample-wrap {
  min-height: 0;
  max-height: 260px;
  overflow: auto;
  border-top: 1px solid #d7d7d7;
}

.audit-sample-wrap .accurate-grid-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}

.audit-ok-note {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #198754;
  background: #ecfdf3;
  border: 1px solid #b7ebc6;
  border-radius: 5px;
  padding: 10px 12px;
  font-weight: 700;
}

@media(max-width: 980px) {
  .akuntansi-audit-layout {
    grid-template-columns: 1fr;
  }

  .akuntansi-audit-left {
    position: static;
    max-height: none;
  }
}

/* ===== Patch: Audit Transaksi scroll + layout seperti Bantuan/Panduan ===== */
body.akuntansi-audit-body,
.embed-body.akuntansi-audit-body,
body:has(.akuntansi-audit-page) {
  overflow: auto !important;
  height: auto !important;
  min-height: 100vh !important;
}

body.akuntansi-audit-body .embed-content,
.embed-body.akuntansi-audit-body .embed-content,
body:has(.akuntansi-audit-page) .embed-content {
  height: auto !important;
  min-height: 100vh !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 0 16px !important;
}

body.akuntansi-audit-body .accurate-list-page.akuntansi-audit-page,
.embed-body.akuntansi-audit-body .accurate-list-page.akuntansi-audit-page,
body:has(.akuntansi-audit-page) .accurate-list-page.akuntansi-audit-page {
  display: block !important;
  height: auto !important;
  min-height: 100vh !important;
  max-height: none !important;
  overflow: visible !important;
  background: #eef0f3 !important;
  padding: 0 0 18px !important;
}

.akuntansi-audit-board {
  background: #eef0f3;
  padding: 10px;
}

.akuntansi-audit-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  align-items: stretch;
  background: radial-gradient(circle at 88% 0%, rgba(10, 166, 166, .14), transparent 30%), linear-gradient(135deg, #fff, #f7fbff) !important;
  border-radius: 4px !important;
  border-color: #c8c8c8 !important;
  box-shadow: none !important;
  margin-bottom: 10px;
}

.akuntansi-audit-hero .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.akuntansi-audit-hero h1 {
  font-size: 1.65rem;
  font-weight: 850;
  color: #172033;
  margin: 7px 0 8px;
  letter-spacing: -.02em;
}

.akuntansi-audit-hero p {
  max-width: 760px;
  margin: 0;
  color: #5f6f83;
  line-height: 1.6;
}

.akuntansi-audit-actions,
.akuntansi-audit-filter-form {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.akuntansi-audit-actions {
  margin-top: 14px;
}

.akuntansi-audit-hero-card {
  border: 1px solid #d7d7d7;
  background: #fff;
  border-radius: 4px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 150px;
}

.akuntansi-audit-hero-card.has-issue {
  border-color: #f4c580;
  background: #fffaf0;
}

.akuntansi-audit-hero-card.is-ok {
  border-color: #b7ebc6;
  background: #f0fdf4;
}

.akuntansi-audit-hero-icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: #e7f0ff;
  color: #1768e5;
  display: grid;
  place-items: center;
  font-size: 1.6rem;
  margin-bottom: 12px;
}

.akuntansi-audit-hero-card.has-issue .akuntansi-audit-hero-icon {
  background: #fff1ce;
  color: #b76b00;
}

.akuntansi-audit-hero-card.is-ok .akuntansi-audit-hero-icon {
  background: #dcfce7;
  color: #198754;
}

.akuntansi-audit-hero-card strong {
  font-size: 1.05rem;
  color: #111;
}

.akuntansi-audit-hero-card span {
  color: #667085;
  margin-top: 4px;
}

.akuntansi-audit-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}

.akuntansi-audit-kpi {
  background: #fff;
  border: 1px solid #c7c7c7;
  border-radius: 4px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, .08);
  padding: 11px 13px;
  min-height: 74px;
  display: grid;
  grid-template-columns: 38px 1fr;
  column-gap: 10px;
  align-items: center;
}

.akuntansi-audit-kpi i {
  grid-row: 1 / span 2;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #eff6ff;
  color: #1768e5;
  font-size: 1.2rem;
}

.akuntansi-audit-kpi span {
  color: #777;
  font-size: .82rem;
  line-height: 1;
}

.akuntansi-audit-kpi strong {
  color: #111;
  font-size: 1.04rem;
  line-height: 1.1;
}

.akuntansi-audit-layout {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  min-height: 0 !important;
}

.akuntansi-audit-nav {
  position: sticky;
  top: 10px;
  border-radius: 4px !important;
  box-shadow: none !important;
  border-color: #c8c8c8 !important;
  padding: 10px !important;
  max-height: calc(100vh - 24px);
  overflow: auto;
}

.akuntansi-audit-nav-title {
  font-weight: 800;
  color: #333;
  border-bottom: 1px solid #ddd;
  padding: 4px 2px 10px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 7px;
}

.akuntansi-audit-nav button {
  width: 100%;
  border: 1px solid transparent;
  background: transparent;
  color: #333;
  border-radius: 4px;
  padding: 9px 10px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  text-align: left;
  font-weight: 600;
  margin-bottom: 4px;
}

.akuntansi-audit-nav button:hover,
.akuntansi-audit-nav button.active {
  background: #e7f0ff;
  color: #1768e5;
  border-color: #cfe0ff;
}

.akuntansi-audit-nav button.is-ok i {
  color: #198754;
}

.akuntansi-audit-nav button.has-issue i {
  color: #d97706;
}

.akuntansi-audit-nav button b,
.audit-check-head h4 {
  display: block;
  font-size: .95rem;
  margin: 0;
}

.akuntansi-audit-nav button small {
  display: block;
  color: #728096;
  font-size: .76rem;
  margin-top: 2px;
}

.akuntansi-audit-main {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.akuntansi-audit-section {
  border-radius: 4px !important;
  border-color: #c8c8c8 !important;
  box-shadow: none !important;
}

.audit-intro-alert {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 0 !important;
}

.audit-intro-alert.audit-warning {
  background: #fffaf0 !important;
  border-color: #f4c580 !important;
}

.audit-intro-alert.audit-success {
  background: #f0fdf4 !important;
  border-color: #b7ebc6 !important;
}

.akuntansi-audit-intro-icon {
  width: 40px;
  height: 40px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: #eff6ff;
  color: #1768e5;
  font-size: 1.25rem;
  flex: 0 0 40px;
}

.audit-warning .akuntansi-audit-intro-icon {
  background: #fff1ce;
  color: #b76b00;
}

.audit-success .akuntansi-audit-intro-icon {
  background: #dcfce7;
  color: #198754;
}

.audit-intro-alert h5 {
  margin: 4px 0 5px;
  font-weight: 800;
  color: #111;
}

.audit-intro-alert p {
  margin: 0;
  color: #5f6f83;
  line-height: 1.55;
}

.audit-check-card {
  padding: 12px !important;
  scroll-margin-top: 12px;
}

.audit-check-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  border-bottom: 1px solid #e6edf5;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.audit-check-head p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: .88rem;
  line-height: 1.45;
}

.audit-status-box {
  width: 118px;
  flex: 0 0 118px;
  border: 1px solid #e6edf5;
  border-radius: 5px;
  padding: 8px;
  text-align: center;
  background: #f8fafc;
}

.audit-status-box strong {
  display: block;
  font-size: 1.3rem;
  margin-top: 5px;
  line-height: 1;
}

.audit-status-box small {
  color: #728096;
  font-size: .75rem;
}

.audit-sample-wrap {
  min-height: 0 !important;
  max-height: 300px !important;
  overflow: auto !important;
  border-top: 1px solid #d7d7d7 !important;
}

.audit-sample-wrap .accurate-grid-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
}

.audit-ok-note {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #198754;
  background: #ecfdf3;
  border: 1px solid #b7ebc6;
  border-radius: 5px;
  padding: 10px 12px;
  font-weight: 700;
}

@media(max-width: 1180px) {
  .akuntansi-audit-hero,
  .akuntansi-audit-layout {
    grid-template-columns: 1fr !important;
  }

  .akuntansi-audit-nav {
    position: static !important;
    max-height: none !important;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
  }

  .akuntansi-audit-nav-title {
    width: 100%;
  }

  .akuntansi-audit-nav button {
    width: calc(50% - 2px);
    margin-bottom: 0;
  }

  .akuntansi-audit-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width: 700px) {
  .akuntansi-audit-board {
    padding: 8px;
  }

  .akuntansi-audit-kpi-grid {
    grid-template-columns: 1fr;
  }

  .akuntansi-audit-nav button {
    width: 100%;
  }

  .akuntansi-audit-hero h1 {
    font-size: 1.28rem;
  }

  .audit-check-head {
    flex-direction: column;
  }

  .audit-status-box {
    width: 100%;
    flex-basis: auto;
  }
}


/* ===== Patch: Audit Log & Audit Sistem internal tabs ===== */
.audit-inner-tabs .inner-data-tab {
  margin-left: 0 !important;
  margin-right: 5px !important;
  text-decoration: none !important;
  gap: 8px !important;
}

.audit-inner-tabs .inner-data-tab.active {
  background: #fff !important;
  color: #222 !important;
  font-weight: 800 !important;
}

.audit-inner-tabs .inner-data-tab:not(.active) {
  background: #eeeeee !important;
  color: #555 !important;
}

/* ===== Patch: Audit Sistem scroll + layout seperti Bantuan/Panduan ===== */
body.audit-system-body,
.embed-body.audit-system-body {
  overflow: auto !important;
  height: auto !important;
  min-height: 100vh !important;
  background: #eef0f3 !important;
}

body.audit-system-body .embed-content,
.embed-body.audit-system-body .embed-content {
  height: auto !important;
  min-height: 100vh !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 0 14px !important;
}

body.audit-system-body .audit-system-page,
.embed-body.audit-system-body .audit-system-page {
  height: auto !important;
  max-height: none !important;
  min-height: 100vh !important;
  overflow: visible !important;
  background: #eef0f3 !important;
  padding: 0 8px 18px !important;
}

.audit-system-page .audit-inner-tabs {
  margin: 0 -8px 10px !important;
}

.audit-system-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: 14px !important;
  align-items: center !important;
  border-radius: 4px !important;
  border: 1px solid #c8c8c8 !important;
  box-shadow: none !important;
  padding: 16px !important;
  margin-bottom: 10px !important;
  background: #fff !important;
}

.audit-system-hero h1 {
  font-size: 1.45rem !important;
  line-height: 1.15 !important;
  margin: 4px 0 6px !important;
  font-weight: 850 !important;
  color: #172033 !important;
}

.audit-system-hero p {
  margin: 0 !important;
  color: #64748b !important;
  max-width: 760px !important;
}

.audit-system-hero-card {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  min-width: 210px !important;
  background: #f8fafc !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 4px !important;
  padding: 10px 12px !important;
}

.audit-system-hero-icon {
  grid-row: span 2 !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 10px !important;
  display: grid !important;
  place-items: center !important;
  background: #e7f0ff !important;
  color: #1768e5 !important;
  font-size: 1.35rem !important;
}

.audit-system-hero-card strong,
.audit-system-hero-card span {
  display: block !important;
  line-height: 1.15 !important;
}

.audit-system-hero-card span {
  color: #64748b !important;
  font-size: .82rem !important;
}

.audit-system-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  justify-content: flex-end !important;
}

.audit-system-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(120px, 1fr)) !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}

.audit-system-kpi {
  border: 1px solid #c8c8c8 !important;
  background: #fff !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  padding: 10px 12px !important;
  display: grid !important;
  grid-template-columns: 30px 1fr !important;
  text-align: left !important;
  gap: 4px 8px !important;
  align-items: center !important;
  color: #172033 !important;
}

.audit-system-kpi:hover,
.audit-system-kpi.active {
  border-color: #cfe0ff !important;
  background: #f4f8ff !important;
  color: #1768e5 !important;
}

.audit-system-kpi i {
  grid-row: span 2 !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 8px !important;
  display: grid !important;
  place-items: center !important;
  background: #e7f0ff !important;
  color: #1768e5 !important;
}

.audit-system-kpi span,
.audit-system-kpi strong {
  display: block !important;
  line-height: 1.15 !important;
}

.audit-system-kpi span {
  color: #64748b !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
}

.audit-system-kpi strong {
  font-size: .98rem !important;
}

.audit-system-layout {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.audit-system-nav {
  position: sticky !important;
  top: 10px !important;
  max-height: calc(100vh - 20px) !important;
  overflow: auto !important;
  border-radius: 4px !important;
  border: 1px solid #c8c8c8 !important;
  box-shadow: none !important;
  background: #fff !important;
  padding: 10px !important;
  scrollbar-width: thin !important;
}

.audit-system-nav-title {
  font-weight: 800 !important;
  color: #333 !important;
  border-bottom: 1px solid #ddd !important;
  padding: 4px 2px 10px !important;
  margin-bottom: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: .92rem !important;
}

.audit-system-nav button {
  width: 100% !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #333 !important;
  border-radius: 4px !important;
  padding: 9px 8px !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  text-align: left !important;
  margin-bottom: 4px !important;
}

.audit-system-nav button:hover,
.audit-system-nav button.active {
  background: #e7f0ff !important;
  color: #1768e5 !important;
  border-color: #cfe0ff !important;
}

.audit-system-nav button span,
.audit-system-nav button b,
.audit-system-nav button small {
  display: block !important;
  min-width: 0 !important;
}

.audit-system-nav button b {
  font-size: .88rem !important;
  line-height: 1.15 !important;
}

.audit-system-nav button small {
  color: #64748b !important;
  font-size: .72rem !important;
  line-height: 1.2 !important;
  margin-top: 2px !important;
}

.audit-system-nav button em {
  font-style: normal !important;
  color: #64748b !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
}

.audit-system-main {
  display: grid !important;
  gap: 10px !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.audit-system-section {
  border-radius: 4px !important;
  border: 1px solid #c8c8c8 !important;
  box-shadow: none !important;
  padding: 12px !important;
  scroll-margin-top: 14px !important;
}

.audit-system-section-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 12px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding-bottom: 10px !important;
  margin-bottom: 10px !important;
}

.audit-system-section h2 {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 1rem !important;
  font-weight: 850 !important;
  margin: 0 !important;
  color: #172033 !important;
}

.audit-system-table-wrap {
  border: 1px solid #d7d7d7 !important;
  background: #fff !important;
  overflow: auto !important;
  max-height: 330px !important;
  min-height: 130px !important;
}

.audit-system-table-wrap-wide {
  max-height: 410px !important;
}

.audit-system-table {
  min-width: 720px !important;
}

.audit-system-table thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 6 !important;
}

.audit-system-table small {
  display: block !important;
  color: #64748b !important;
  margin-top: 2px !important;
  font-size: .78rem !important;
}

.audit-system-table .btn {
  border-radius: 4px !important;
}

.audit-access-matrix {
  min-width: 1040px !important;
}

.css-audit-summary {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
}

.css-audit-summary > div,
.module-list > div {
  display: flex !important;
  justify-content: space-between !important;
  gap: 8px !important;
  align-items: center !important;
  border: 1px solid #e2e8f0 !important;
  background: #f8fafc !important;
  border-radius: 4px !important;
  padding: 8px 10px !important;
}

.css-audit-summary span,
.module-list span {
  color: #64748b !important;
  font-size: .82rem !important;
}

.module-list {
  display: grid !important;
  gap: 6px !important;
}

@media(max-width:1100px) {
  .audit-system-hero,
  .audit-system-layout {
    grid-template-columns: 1fr !important;
  }

  .audit-system-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .audit-system-nav {
    position: relative !important;
    top: auto !important;
    max-height: none !important;
  }
}

@media(max-width:720px) {
  .audit-system-kpi-grid,
  .css-audit-summary {
    grid-template-columns: 1fr !important;
  }

  .audit-system-hero {
    padding: 12px !important;
  }

  .audit-system-section-head {
    display: grid !important;
  }
}
/* Commercial Core v1 */
.commercial-page {
  min-height: calc(100vh - 8px);
  padding: 0 8px 22px;
  background: #f2f2f2;
  overflow: visible;
}
.embed-body .commercial-page {
  min-height: calc(100vh - 8px);
}
.commercial-page .accurate-inner-tabs {
  margin: -14px -14px 12px;
}
.commercial-hero {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
  border-radius: 6px;
}
.commercial-hero h1 {
  font-size: 1.7rem;
  margin: 2px 0 8px;
  color: #14365d;
  font-weight: 800;
}
.commercial-hero p {
  margin: 0;
  color: #596779;
  max-width: 780px;
}
.commercial-status-card {
  min-width: 190px;
  border-radius: 6px;
  padding: 14px 16px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}
.commercial-status-card span,
.commercial-status-card small {
  opacity: .9;
  font-size: .82rem;
}
.commercial-status-card strong {
  font-size: 1.28rem;
  line-height: 1.15;
}
.commercial-status-success { background: linear-gradient(135deg, #128a4b, #24b66b); }
.commercial-status-warning { background: linear-gradient(135deg, #b66d00, #ef9c1a); }
.commercial-status-danger { background: linear-gradient(135deg, #b42318, #dc3545); }
.commercial-status-secondary { background: linear-gradient(135deg, #56616f, #798491); }
.commercial-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.commercial-kpi {
  border-radius: 6px;
  padding: 13px 14px;
}
.commercial-kpi span {
  display: block;
  color: #667085;
  font-size: .82rem;
  margin-bottom: 4px;
}
.commercial-kpi strong {
  display: block;
  font-size: 1.02rem;
  color: #111827;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.commercial-layout {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.commercial-side {
  position: sticky;
  top: 12px;
  border-radius: 6px;
  padding: 12px;
}
.commercial-side-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  color: #14365d;
  border-bottom: 1px solid #e4e7ec;
  padding-bottom: 9px;
  margin-bottom: 9px;
}
.commercial-side a {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  text-decoration: none;
  color: #344054;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 10px;
  margin-bottom: 6px;
}
.commercial-side a:hover,
.commercial-side a.active {
  background: #f2f7ff;
  border-color: #c7dcff;
  color: #1768e5;
}
.commercial-side a i {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  background: #eef4ff;
}
.commercial-side a span,
.commercial-side a small {
  display: block;
  min-width: 0;
}
.commercial-side a small {
  color: #667085;
  font-size: .76rem;
  margin-top: 2px;
}
.commercial-main {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.commercial-form {
  padding: 0;
  border-radius: 6px;
  overflow: visible;
}
.commercial-section {
  background: #fff;
  border: 1px solid #d0d5dd;
  border-radius: 6px;
  padding: 16px;
  margin-bottom: 12px;
  scroll-margin-top: 16px;
}
.commercial-form .commercial-section {
  border-left: 0;
  border-right: 0;
  border-radius: 0;
  margin-bottom: 0;
}
.commercial-form .commercial-section:first-child {
  border-top: 0;
}
.commercial-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e4e7ec;
  padding-bottom: 9px;
  margin-bottom: 14px;
}
.commercial-section-head h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 2px 0 0;
  font-size: 1.18rem;
  font-weight: 800;
  color: #14365d;
}
.commercial-check-row {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  border: 1px solid #e4e7ec;
  border-radius: 6px;
  padding: 12px;
  margin-bottom: 10px;
  cursor: pointer;
}
.commercial-check-row input {
  margin-top: 3px;
}
.commercial-check-row span,
.commercial-check-row small {
  display: block;
}
.commercial-check-row small {
  color: #667085;
  margin-top: 2px;
}
.commercial-notes-field {
  align-items: start;
}
.commercial-copy-box {
  border: 1px dashed #98a2b3;
  background: #f8fafc;
  border-radius: 6px;
  padding: 12px;
  margin-bottom: 12px;
}
.commercial-copy-box pre {
  margin: 0;
  white-space: pre-wrap;
}
.commercial-dev-key {
  border: 1px solid #dbeafe;
  background: #eff6ff;
  border-radius: 6px;
  padding: 12px;
}
.commercial-dev-key span,
.commercial-dev-key small {
  display: block;
  color: #475467;
}
.commercial-dev-key strong {
  display: block;
  font-size: 1.05rem;
  color: #175cd3;
  letter-spacing: .02em;
  margin: 2px 0;
}
.license-key-input {
  text-transform: uppercase;
  letter-spacing: .06em;
}
.commercial-savebar {
  position: sticky;
  bottom: 0;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  background: #f8fafc;
  border-top: 1px solid #d0d5dd;
  padding: 12px;
  border-radius: 0 0 6px 6px;
  z-index: 5;
}
.commercial-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.commercial-info-grid > div {
  border: 1px solid #e4e7ec;
  border-radius: 6px;
  padding: 11px 12px;
  background: #fcfcfd;
}
.commercial-info-grid span {
  display: block;
  color: #667085;
  font-size: .8rem;
  margin-bottom: 3px;
}
.commercial-info-grid strong {
  display: block;
  color: #111827;
  overflow-wrap: anywhere;
}
.commercial-module-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.commercial-module-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #edf0f2;
  padding: 8px 0;
}
.commercial-module-list > div:last-child {
  border-bottom: 0;
}
.commercial-module-list small {
  display: block;
  color: #667085;
  font-size: .76rem;
  margin-top: 2px;
}
.commercial-note-box {
  margin-top: 12px;
  border: 1px solid #e4e7ec;
  background: #f8fafc;
  border-radius: 6px;
  padding: 10px 12px;
  color: #475467;
}
.dash-commercial-license {
  border-left: 4px solid #1768e5;
}
.dash-commercial-license small {
  display: block;
  color: #667085;
}
@media (max-width: 1100px) {
  .commercial-layout {
    grid-template-columns: 1fr;
  }
  .commercial-side {
    position: static;
  }
  .commercial-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .commercial-hero {
    flex-direction: column;
  }
  .commercial-kpi-grid,
  .commercial-info-grid {
    grid-template-columns: 1fr;
  }
  .commercial-savebar {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}
