/* v222 — form anggaran minimal, elegan, tanpa bingkai berat. */
:is(#modal,#foundationModal) .modal-card:has(.ab-modal) {
  border:0 !important;
  background:#fff !important;
  box-shadow:0 24px 64px rgba(16,42,35,.2) !important;
}

#modal .modal-card:has(.ab-modal) #modalBody,
#foundationModal .modal-card:has(.ab-modal) #foundationModalBody,
:is(#modal,#foundationModal) .ab-modal {
  background:#fff !important;
  color:#17231f !important;
}

:is(#modal,#foundationModal) .ab-modal {
  isolation:isolate;
}

:is(#modal,#foundationModal) .ab-modal-head {
  margin:0 0 24px !important;
  padding:0 54px 20px 0 !important;
  border:0 !important;
  border-bottom:1px solid #edf2f0 !important;
}

:is(#modal,#foundationModal) .ab-modal-head .ab-kicker {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:7px;
  background:#eaf8f3 !important;
  color:#08745d !important;
  font-size:10px !important;
  letter-spacing:.12em !important;
}

:is(#modal,#foundationModal) .ab-modal-head h2 {
  margin:10px 0 5px !important;
  color:#17231f !important;
  font-size:24px !important;
  line-height:1.2 !important;
  letter-spacing:-.025em;
}

:is(#modal,#foundationModal) .ab-modal-head p {
  max-width:680px;
  margin:0 !important;
  color:#70807b !important;
  font-size:13px !important;
  line-height:1.6 !important;
}

:is(#modal,#foundationModal) .ab-modal form {
  gap:17px !important;
}

:is(#modal,#foundationModal) .ab-modal form > label,
:is(#modal,#foundationModal) .ab-modal form .grid > label,
:is(#modal,#foundationModal) .ab-realization-row label {
  gap:7px !important;
  color:#4e625c !important;
  font-size:11px !important;
  font-weight:750 !important;
}

:is(#modal,#foundationModal) .ab-modal form :is(input,select,textarea) {
  min-height:47px;
  border:1px solid transparent !important;
  border-radius:12px !important;
  background:#f4f8f6 !important;
  color:#17231f !important;
  box-shadow:none !important;
  transition:background-color 90ms ease,border-color 90ms ease,box-shadow 90ms ease !important;
}

:is(#modal,#foundationModal) .ab-modal form textarea {
  min-height:96px;
  resize:vertical;
}

:is(#modal,#foundationModal) .ab-modal form :is(input,select,textarea):hover {
  background:#f0f6f3 !important;
}

:is(#modal,#foundationModal) .ab-modal form :is(input,select,textarea):focus {
  border-color:#29aa86 !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(17,169,128,.1) !important;
  outline:0 !important;
}

:is(#modal,#foundationModal) .ab-form-section {
  margin:5px 0 0 !important;
  padding:22px 0 5px !important;
  border:0 !important;
  border-top:1px solid #e8efec !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

:is(#modal,#foundationModal) .ab-section-title {
  align-items:center !important;
  margin:0 0 16px !important;
}

:is(#modal,#foundationModal) .ab-section-title b {
  color:#21342f;
  font-size:14px;
}

:is(#modal,#foundationModal) .ab-section-title small {
  margin-top:4px !important;
  color:#7b8d87 !important;
  font-size:10px !important;
}

:is(#modal,#foundationModal) .ab-section-title .secondary {
  min-height:40px;
  padding:9px 14px !important;
  border:0 !important;
  border-radius:10px !important;
  background:#e8f8f2 !important;
  color:#08745d !important;
  box-shadow:none !important;
}

:is(#modal,#foundationModal) .ab-line-head {
  padding:0 8px 7px !important;
  color:#81918c !important;
  font-size:9px !important;
  letter-spacing:.04em;
}

:is(#modal,#foundationModal) .ab-line {
  margin:0 !important;
  padding:8px !important;
  border:0 !important;
  border-radius:14px !important;
  background:#f8fbfa !important;
}

:is(#modal,#foundationModal) .ab-line :is(input,select) {
  background:#fff !important;
  border-color:#e5eeeb !important;
}

:is(#modal,#foundationModal) .ab-line [data-line-total],
:is(#modal,#foundationModal) .ab-line [data-realized-total] {
  color:#263c36 !important;
  font-size:11px !important;
  font-weight:750 !important;
}

:is(#modal,#foundationModal) .ab-remove,
:is(#modal,#foundationModal) .ab-remove-attachment {
  width:32px !important;
  min-width:32px !important;
  height:32px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:9px !important;
  background:#fff0ef !important;
  color:#b83e38 !important;
  box-shadow:none !important;
}

:is(#modal,#foundationModal) .ab-grand-total {
  margin-top:13px !important;
  padding-top:14px !important;
  border:0 !important;
  border-top:1px solid #e9efed !important;
}

:is(#modal,#foundationModal) .ab-grand-total span {
  color:#536760;
  font-size:12px;
}

:is(#modal,#foundationModal) .ab-grand-total b {
  color:#07866a !important;
  font-size:19px !important;
}

:is(#modal,#foundationModal) .ab-attachment {
  padding:7px !important;
  border:0 !important;
  border-radius:13px;
  background:#f8fbfa;
}

:is(#modal,#foundationModal) .ab-form-actions {
  position:sticky;
  z-index:5;
  bottom:-30px;
  margin:6px -30px -30px !important;
  padding:15px 30px calc(16px + env(safe-area-inset-bottom)) !important;
  border-top:1px solid #e8efec;
  background:rgba(255,255,255,.97);
}

:is(#modal,#foundationModal) .ab-form-actions :is(.primary,.secondary,.danger) {
  min-height:43px;
  padding:10px 17px !important;
  border:0 !important;
  border-radius:11px !important;
  box-shadow:none !important;
  transition:transform 70ms ease,filter 70ms ease !important;
}

:is(#modal,#foundationModal) .ab-form-actions .primary {
  background:#079b78 !important;
}

:is(#modal,#foundationModal) .modal-card:has(.ab-modal) > :is(.close,.modal-close) {
  width:36px !important;
  min-width:36px !important;
  height:36px !important;
  border:0 !important;
  background:#eef7f4 !important;
  color:#28594d !important;
  box-shadow:none !important;
  transition:background-color 80ms ease,transform 80ms ease !important;
}

@media (max-width:780px) {
  :is(#modal,#foundationModal) .ab-modal-head {
    margin-bottom:20px !important;
    padding-right:46px !important;
  }

  :is(#modal,#foundationModal) .ab-modal-head h2 {
    font-size:21px !important;
  }

  :is(#modal,#foundationModal) .ab-line {
    background:#f7faf9 !important;
  }

  :is(#modal,#foundationModal) .ab-form-actions {
    bottom:calc(-22px - env(safe-area-inset-bottom));
    margin:8px -17px calc(-22px - env(safe-area-inset-bottom)) !important;
    padding:13px 17px calc(14px + env(safe-area-inset-bottom)) !important;
  }
}
