/* Finance composer only: calm PRM working surface, no persistence behaviour here. */
:root {
  --tx-forest: #082b15;
  --tx-green: #075e33;
  --tx-green-dark: #064426;
  --tx-mint: #eaf6ed;
  --tx-mint-strong: #d9efe0;
  --tx-cream: #fff7e4;
  --tx-sky: #eef7fa;
  --tx-ink: #17231b;
  --tx-muted: #647169;
  --tx-line: #d5e1d8;
  --tx-soft-line: #e8efe9;
  --tx-canvas: #f5f8f5;
  --tx-danger: #a33b31;
  --tx-focus: rgba(7, 94, 51, .24);
  --tx-ease: cubic-bezier(.2, .75, .25, 1);
}

body.prm-tx-open { overflow: hidden; }

.prm-tx-modal {
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: grid;
  place-items: center;
  padding: 24px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: visibility 340ms linear;
}
.prm-tx-modal.is-open { visibility: visible; pointer-events: auto; }
.prm-tx-modal.is-closing { visibility: visible; pointer-events: none; }
.prm-tx-modal.is-open { opacity: 1; }
.prm-tx-modal.is-closing { opacity: 1; }
.prm-tx-modal__scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  background: rgba(4,18,9,.58);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  cursor: default;
  opacity:0;
  transition:opacity 210ms ease;
}
.prm-tx-modal.is-open .prm-tx-modal__scrim{opacity:1}
.prm-tx-modal.is-closing .prm-tx-modal__scrim{opacity:0;transition-duration:180ms;transition-delay:155ms}
.prm-tx-focus-scrim,
.prm-tx-floating-scrim {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  background: rgba(4,18,9,.46);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  cursor: default;
  opacity: 0;
  transition: opacity 180ms ease;
}
.prm-tx-focus-scrim { z-index: 2; }
.prm-tx-focus-scrim:not([hidden]) { opacity: 1; }
.prm-tx-floating-scrim { z-index: 1500; pointer-events: none; }
.prm-tx-floating-scrim.is-open { opacity: 1; pointer-events: auto; }
.prm-tx-modal__panel {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: min(840px, calc(100dvh - 48px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 22px;
  background: var(--tx-canvas);
  box-shadow: 0 28px 76px rgba(3,30,13,.25);
  opacity: 0;
  transform: translate3d(0,12px,0);
}
.prm-tx-modal.is-open .prm-tx-modal__panel { animation: prmTxPanelIn 280ms var(--tx-ease) both; }
.prm-tx-modal.is-closing .prm-tx-modal__panel { animation: prmTxPanelOut 220ms 85ms cubic-bezier(.4,0,1,1) both; }
@keyframes prmTxPanelIn { to { opacity: 1; transform: translate3d(0,0,0); } }
@keyframes prmTxPanelOut { from { opacity:1; transform:translate3d(0,0,0); } to { opacity:0; transform:translate3d(0,8px,0); } }

.prm-tx-modal__header > *,
.prm-tx-context,
.prm-tx-details,
.prm-tx-evidence,
.prm-tx-form__footer { opacity:0; transform:translate3d(0,6px,0); }
.prm-tx-modal.is-open .prm-tx-modal__header > * { animation:prmTxStageIn 230ms 45ms var(--tx-ease) both; }
.prm-tx-modal.is-open .prm-tx-modal__heading { animation-delay:75ms; }
.prm-tx-modal.is-open .prm-tx-modal__close { animation-delay:100ms; }
.prm-tx-modal.is-open .prm-tx-context { animation:prmTxStageIn 250ms 120ms var(--tx-ease) both; }
.prm-tx-modal.is-open .prm-tx-details { animation:prmTxStageIn 250ms 155ms var(--tx-ease) both; }
.prm-tx-modal.is-open .prm-tx-evidence { animation:prmTxStageIn 250ms 185ms var(--tx-ease) both; }
.prm-tx-modal.is-open .prm-tx-form__footer { animation:prmTxStageIn 230ms 210ms var(--tx-ease) both; }
.prm-tx-modal.is-closing .prm-tx-form__footer{animation:prmTxStageOut 135ms ease-in both}
.prm-tx-modal.is-closing .prm-tx-evidence{animation:prmTxStageOut 135ms 18ms ease-in both}
.prm-tx-modal.is-closing .prm-tx-details{animation:prmTxStageOut 135ms 36ms ease-in both}
.prm-tx-modal.is-closing .prm-tx-context{animation:prmTxStageOut 135ms 54ms ease-in both}
.prm-tx-modal.is-closing .prm-tx-modal__header > *{animation:prmTxStageOut 135ms 72ms ease-in both}
@keyframes prmTxStageIn { to { opacity:1; transform:none; } }
@keyframes prmTxStageOut { from { opacity:1; transform:none; } to { opacity:0; transform:translate3d(0,-3px,0); } }

.prm-tx-modal__header {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 36px minmax(0,1fr) 44px;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  background: var(--tx-forest);
}
.prm-tx-modal__heading { min-width:0; display:block; overflow:hidden; }
.prm-tx-modal__header small,
.prm-tx-section-heading small,
.prm-tx-picker__header small,
.prm-tx-subdialog__header small {
  display: block;
  color: var(--tx-green);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.prm-tx-modal__header small { color:#9ee5b7; }
.prm-tx-modal__header h2 { margin:0; color:#fff; font-size:16px; font-weight:900; line-height:1.2; }
.prm-tx-modal__header p { overflow:hidden; margin:2px 0 0; color:#c9dbcf; font-size:9px; font-weight:700; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.prm-tx-modal__mark,
.prm-tx-modal__close {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 11px;
}
.prm-tx-modal__mark { width:36px; height:36px; border-radius:9px; background:var(--tx-cream); color:var(--tx-green); }
.prm-tx-modal__mark svg { width: 22px; }
.prm-tx-modal__close {
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
  color: #fff;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}
.prm-tx-modal__close:hover { border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.14); color: #fff; }
.prm-tx-modal__close svg { width: 20px; }

.prm-tx-form { min-height: 0; display: flex; flex: 1; flex-direction: column; }
.prm-tx-form__scroll {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  padding:14px;
  background: #eff6f0;
  scrollbar-width: thin;
  scrollbar-color: #acc1b1 transparent;
}
.prm-tx-form__scroll[hidden],
[data-tx-editor-footer][hidden] { display:none !important; }
.prm-tx-context {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap:10px;
  padding:10px;
  border: 1px solid #bad8c3;
  border-radius: 16px;
  background: var(--tx-mint);
}
.prm-tx-context__field { min-width: 0; }
.prm-tx-context__field--target { grid-column:1/-1; }
.prm-tx-label,
.prm-tx-input-field > span:first-child {
  display: block;
  margin: 0 0 7px;
  color: #35473a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
}
.prm-tx-context__button,
.prm-tx-detail-category__trigger,
.prm-tx-date__trigger {
  width: 100%;
  min-height:50px;
  display: grid;
  grid-template-columns: 32px minmax(0,1fr) 18px;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  border: 1px solid #c7d8cb;
  border-radius: 11px;
  background: #fff;
  color: var(--tx-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}
.prm-tx-context__button:hover:not(:disabled),
.prm-tx-detail-category__trigger:hover:not(:disabled),
.prm-tx-date__trigger:hover:not(:disabled) { border-color: #94b7a1; background: #fcfefc; }
.prm-tx-context__button:disabled,
.prm-tx-detail-category__trigger:disabled,
.prm-tx-date__trigger:disabled { cursor: not-allowed; }
.prm-tx-context__icon,
.prm-tx-date__trigger > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--tx-mint);
  color: var(--tx-green);
}
.prm-tx-context__icon svg,
.prm-tx-date__trigger > span svg { width: 17px; }
.prm-tx-context__button > span:nth-child(2) { min-width: 0; }
.prm-tx-context__button strong,
.prm-tx-date__trigger strong {
  display: block;
  overflow: hidden;
  font-size: 11px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.prm-tx-context__button small {
  display: block;
  overflow: hidden;
  margin-top: 2px;
  color: var(--tx-muted);
  font-size: 8px;
  font-weight:700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.prm-tx-context__chevron,
.prm-tx-detail-category__trigger svg,
.prm-tx-date__trigger > svg { width: 18px; color: #718076; transition: transform 160ms ease; }
.prm-tx-context__field.is-open .prm-tx-context__chevron,
.prm-tx-detail-category.is-open .prm-tx-detail-category__trigger svg,
.prm-tx-date.is-open .prm-tx-date__trigger > svg { transform: rotate(180deg); }
.prm-tx-context__field--kind .prm-tx-context__button { border-color: #acd1b8; background: #fbfefb; }
.prm-tx-context__field--kind.is-chosen .prm-tx-context__button { border-color:#82b496; background:#fff; }
.prm-tx-context__field--kind.is-chosen .prm-tx-context__icon { background: var(--tx-green); color:#fff; }
.prm-tx-context__field--kind[data-tx-kind="penerimaan"] .prm-tx-context__icon { background:#15965a; color:#dff7e8; border-radius:12px; }
.prm-tx-context__field--kind[data-tx-kind="pengeluaran"] .prm-tx-context__icon { background:#d75a4a; color:#fff0ed; border-radius:12px; }
.prm-tx-context__field--kind[data-tx-kind="mutasi"] .prm-tx-context__icon { background:#4a86a3; color:#edf7fb; border-radius:12px; }

[data-tx-requires-kind].is-locked,
[data-tx-requires-book].is-locked,
[data-tx-requires-context].is-locked { opacity:.42; filter:grayscale(.35); }
[data-tx-requires-context] { transition:opacity 210ms ease, filter 210ms ease, background-color 210ms ease, border-color 210ms ease; }
.prm-tx-modal.is-open [data-tx-requires-context].is-locked {
  opacity:1 !important;
  filter:none;
  pointer-events:none;
  user-select:none;
  border-color:#c3c9c4;
  background:#dfe3e0;
  box-shadow:none;
}
.prm-tx-modal.is-open [data-tx-requires-context].is-locked > * { opacity:.62; filter:grayscale(.78) saturate(.35); }
.prm-tx-modal.is-open .prm-tx-details.is-locked .prm-tx-detail-card {
  border-color:#bfc7c1;
  background:#e8ece9;
  box-shadow:none;
}
.prm-tx-modal.is-open .prm-tx-details.is-locked .prm-tx-detail-card__header {
  border-color:#c5ccc7;
  background:#d9dedb;
}
.prm-tx-modal.is-open .prm-tx-details.is-locked .prm-tx-detail-card__header small,
.prm-tx-modal.is-open .prm-tx-details.is-locked .prm-tx-detail-card__header strong,
.prm-tx-modal.is-open .prm-tx-details.is-locked .prm-tx-section-heading small,
.prm-tx-modal.is-open .prm-tx-details.is-locked .prm-tx-section-heading h3,
.prm-tx-modal.is-open .prm-tx-evidence.is-locked .prm-tx-section-heading small,
.prm-tx-modal.is-open .prm-tx-evidence.is-locked .prm-tx-section-heading h3,
.prm-tx-modal.is-open .prm-tx-evidence.is-locked .prm-tx-section-heading p { color:#677069; }
.prm-tx-modal.is-open [data-tx-requires-context].is-locked .prm-tx-detail-category__trigger,
.prm-tx-modal.is-open [data-tx-requires-context].is-locked .prm-tx-money,
.prm-tx-modal.is-open [data-tx-requires-context].is-locked .prm-tx-date__trigger,
.prm-tx-modal.is-open [data-tx-requires-context].is-locked textarea,
.prm-tx-modal.is-open [data-tx-requires-context].is-locked input[data-tx-detail-note],
.prm-tx-modal.is-open [data-tx-requires-context].is-locked .prm-tx-note-tools button,
.prm-tx-modal.is-open [data-tx-requires-context].is-locked .prm-tx-add-detail,
.prm-tx-modal.is-open [data-tx-requires-context].is-locked .prm-tx-upload > button {
  border-color:#b8c0ba;
  background:#d7dcd8;
  color:#646d66;
  box-shadow:none;
}
.prm-tx-modal.is-open .prm-tx-details.is-locked .prm-tx-money b,
.prm-tx-modal.is-open .prm-tx-details.is-locked .prm-tx-date__trigger > span,
.prm-tx-modal.is-open .prm-tx-evidence.is-locked .prm-tx-upload__icon {
  border-color:#bdc5bf;
  background:#cbd1cc;
  color:#626b64;
}
.prm-tx-modal.is-open .prm-tx-evidence.is-locked .prm-tx-evidence__count {
  border-color:#b9c1bb;
  background:#d4d9d5;
  color:#626b64;
}
.prm-tx-lock-note {
  min-height: 0;
  max-height: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  overflow:hidden;
  margin:0;
  color: #617068;
  font-size: 9px;
  font-weight: 800;
  opacity:0;
  transform:translate3d(0,-4px,0);
  transition:max-height 240ms var(--tx-ease), margin 240ms var(--tx-ease), opacity 170ms ease, transform 240ms var(--tx-ease);
}
.prm-tx-lock-note svg { width: 16px; color: #6e8b79; }
.prm-tx-lock-note.is-visible { max-height:38px; margin-top:9px; opacity:1; transform:none; }
.prm-tx-lock-note--period.is-visible { margin-top:5px; }

.prm-tx-validation-notice {
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:9px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #e9c9c3;
  border-radius:12px;
  background:#fff8f6;
  color:var(--tx-danger);
  overflow:hidden;
  transform-origin:top;
  transition:max-height 230ms var(--tx-ease), margin 230ms var(--tx-ease), padding 230ms var(--tx-ease), opacity 170ms ease, transform 210ms var(--tx-ease);
}
.prm-tx-validation-notice[hidden] { display:none; }
.prm-tx-validation-notice.is-transient-entering { opacity:0; transform:translate3d(0,-5px,0); }
.prm-tx-validation-notice.is-transient-leaving { padding-block:0; border-top-width:0; border-bottom-width:0; opacity:0; transform:translate3d(0,-5px,0); }
.prm-tx-validation-notice svg { width:19px; }
.prm-tx-validation-notice strong { display:block; color:#7c3029; font-size:10px; }
.prm-tx-validation-notice small { display:block; margin-top:2px; color:#8d4b42; font-size:9px; font-weight:700; line-height:1.45; }
.prm-tx-validation-notice:not(.is-warning) { border-color:#bdd8c5; background:var(--tx-mint); color:var(--tx-green); }
.prm-tx-validation-notice:not(.is-warning) strong { color:var(--tx-green-dark); }
.prm-tx-validation-notice:not(.is-warning) small { color:#496354; }
@keyframes prmTxNoticeIn { from { opacity:0; transform:translate3d(0,-4px,0); } to { opacity:1; transform:none; } }

.prm-tx-details,
.prm-tx-evidence { margin-top: 12px; }
.prm-tx-details {
  padding:10px;
  border:1px solid #e6d6ac;
  border-radius:18px;
  background:var(--tx-cream);
}
.prm-tx-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 7px;
}
.prm-tx-section-heading h3 { margin:1px 0 0; color:var(--tx-ink); font-size:14px; font-weight:900; line-height:1.3; }
.prm-tx-section-heading p { margin:2px 0 0; color:var(--tx-muted); font-size:8px; font-weight:700; line-height:1.45; }
.prm-tx-detail-list { display: grid; gap: 0; }
.prm-tx-detail-card {
  overflow: hidden;
  border: 1px solid var(--tx-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(12,58,31,.04);
  margin-bottom:10px;
  transition:max-height 250ms var(--tx-ease), margin-bottom 250ms var(--tx-ease), opacity 180ms ease, transform 220ms var(--tx-ease);
}
.prm-tx-detail-card:last-child { margin-bottom:0; }
.prm-tx-detail-card.is-entering { animation: prmTxDetailIn 220ms var(--tx-ease) both; }
.prm-tx-detail-card.is-removing { pointer-events: none; }
@keyframes prmTxDetailIn { from { opacity:0; transform:translate3d(0,8px,0); } to { opacity:1; transform:none; } }
@keyframes prmTxDetailOut { from { opacity:1; transform:none; } to { opacity:0; transform:translate3d(0,-5px,0); } }
.prm-tx-detail-card__header {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 8px 6px 11px;
  border-bottom: 1px solid var(--tx-soft-line);
  background: #fbfdfb;
}
.prm-tx-detail-card__header > span { min-width: 0; }
.prm-tx-detail-card__header small { display: block; color: var(--tx-green); font-size: 10px; font-weight: 900; letter-spacing: .04em; }
.prm-tx-detail-card__header strong { display: block; margin-top: 2px; color: var(--tx-muted); font-size: 8px; font-weight: 800; }
.prm-tx-detail-card__actions { display:flex; align-items:center; gap:0; }
.prm-tx-detail-category__trigger {
  width:auto;
  min-width:0;
  max-width:min(260px,40vw);
  min-height: 36px;
  grid-template-columns: minmax(0,1fr) 16px;
  gap: 6px;
  padding: 0 9px;
  font-size: 9px;
  font-weight: 800;
}
.prm-tx-detail-category__trigger span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.prm-tx-detail-category__trigger.is-guiding { animation:prmTxCategoryGuide 680ms var(--tx-ease) both; }
@keyframes prmTxCategoryGuide { 0%,100% { border-color:var(--tx-line); box-shadow:none; } 38%,68% { border-color:#c18a22; box-shadow:0 0 0 4px rgba(193,138,34,.16); background:#fffaf0; } }
.prm-tx-detail-card__delete {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid #e9c9c3;
  border-radius: 10px;
  background: #fff8f6;
  color: var(--tx-danger);
  cursor: pointer;
  margin-left:7px;
  overflow:hidden;
  transition:width 210ms var(--tx-ease), height 210ms var(--tx-ease), margin 210ms var(--tx-ease), border-width 160ms ease, opacity 160ms ease, transform 210ms var(--tx-ease), background-color 150ms ease;
}
.prm-tx-detail-card__delete[hidden] { display:none; }
.prm-tx-detail-card__delete.is-hiding { width:0; height:38px; margin-left:0; border-width:0; opacity:0; transform:translateX(6px) scale(.88); }
.prm-tx-detail-card__delete.is-appearing { opacity:0; transform:translateX(6px) scale(.88); }
.prm-tx-detail-card__delete svg { width: 18px; }
.prm-tx-detail-card__delete:hover { border-color:var(--tx-danger); background:#fbe9e6; box-shadow:0 0 0 3px rgba(163,59,49,.1); }
.prm-tx-detail-card__body {
  display: grid;
  grid-template-columns: minmax(170px,.82fr) minmax(210px,1fr) minmax(260px,1.35fr);
  align-items:end;
  gap: 8px;
  padding: 8px 10px 9px;
}
.prm-tx-input-field { min-width: 0; }
.prm-tx-input-field.is-category-locked { cursor:not-allowed; opacity:.48; }
.prm-tx-input-field.is-category-locked > * { pointer-events:none; }
.prm-tx-input-field--wide { grid-column:auto; }
.prm-tx-date__trigger { min-height:46px; }
.prm-tx-money {
  min-height: 46px;
  display: grid;
  grid-template-columns: 45px minmax(0,1fr);
  overflow: hidden;
  border: 1px solid #c7d8cb;
  border-radius: 11px;
  background: #fff;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.prm-tx-money:focus-within { border-color: var(--tx-green); box-shadow: 0 0 0 3px var(--tx-focus); }
.prm-tx-money b {
  display: grid;
  place-items: center;
  border-right: 1px solid var(--tx-line);
  background: #f1f6f2;
  color: var(--tx-green-dark);
  font-size: 11px;
  font-weight: 900;
}
.prm-tx-money input,
.prm-tx-input-field textarea,
.prm-tx-input-field input[data-tx-detail-note] {
  box-sizing:border-box;
  width: 100%;
  border: 0;
  outline: 0;
  background: #fff;
  color: var(--tx-ink);
  font: inherit;
}
.prm-tx-money input { min-width:0; padding: 0 12px; font-size: 16px; font-weight: 800; }
.prm-tx-input-field > span:first-child em,
.prm-tx-note-label em { color:var(--tx-muted); font-size:8px; font-style:normal; font-weight:800; }
.prm-tx-note-label { display:flex !important; align-items:center; gap:6px; }
.prm-tx-note-label > span { min-width:0; }
.prm-tx-note-label > button { width:22px; height:22px; display:grid; place-items:center; padding:0; border:1px solid var(--tx-line); border-radius:7px; background:#fff; color:var(--tx-green); cursor:pointer; }
.prm-tx-note-label > button:disabled { cursor:not-allowed; opacity:.45; }
.prm-tx-note-label svg { width:13px; }
.prm-tx-note-composer { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; gap:6px; min-height:46px; line-height:normal; }
.prm-tx-note-area { display:block; min-width:0; line-height:0; }
.prm-tx-input-field textarea,
.prm-tx-input-field input[data-tx-detail-note] {
  display:block;
  min-height:46px;
  height:46px;
  padding:0 11px;
  border: 1px solid #c7d8cb;
  border-radius: 11px;
  font-size:10px;
  font-weight:600;
  line-height:46px;
  resize:none;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.prm-tx-input-field textarea:focus,
.prm-tx-input-field input[data-tx-detail-note]:focus { border-color: var(--tx-green); box-shadow: 0 0 0 3px var(--tx-focus); }
.prm-tx-note-tools {
  width:38px;
  display:flex;
  flex-direction:row;
  justify-content:flex-end;
  align-items:center;
  gap:0;
  line-height:normal;
  overflow:hidden;
  transition:width 220ms var(--tx-ease);
}
.prm-tx-note-composer.has-content .prm-tx-note-tools { width:80px; }
.prm-tx-note-tools button {
  width:38px;
  min-width:38px;
  height:38px;
  min-height:38px;
  padding:0;
  border: 1px solid var(--tx-line);
  border-radius: 8px;
  background: #fff;
  color: #456050;
  font: inherit;
  font-size: 8px;
  font-weight: 800;
  cursor: pointer;
  transition:opacity 170ms ease, transform 210ms var(--tx-ease), width 210ms var(--tx-ease), margin 210ms var(--tx-ease), border-width 170ms ease, background-color 150ms ease, border-color 150ms ease;
}
.prm-tx-note-tools button svg { display:block; width:16px; margin:auto; }
.prm-tx-note-tools button:hover:not(:disabled) { border-color:#9fbdab; background:var(--tx-mint); }
.prm-tx-note-tools__clear { border-color:#e9c9c3 !important; background:#fff8f6 !important; color:var(--tx-danger) !important; }
.prm-tx-note-tools__conditional { width:0; min-width:0; margin:0; overflow:hidden; border-width:0; visibility:hidden; opacity:0; transform:translateX(5px) scale(.9); pointer-events:none; }
.prm-tx-note-tools [data-tx-note-paste]{display:grid!important;visibility:visible!important;opacity:1!important;flex:0 0 38px}
.prm-tx-note-tools__conditional.is-visible { width:38px; min-width:38px; margin-left:4px; border-width:1px; visibility:visible; opacity:1; transform:none; pointer-events:auto; }
.prm-tx-note-status { display:block; overflow:hidden; max-height:0; margin:0; color:var(--tx-muted); font-size:8px; font-weight:700; opacity:0; transform:translateY(-3px); transition:max-height 200ms var(--tx-ease), margin 200ms var(--tx-ease), opacity 160ms ease, transform 200ms var(--tx-ease); }
.prm-tx-note-status.is-visible { max-height:24px; margin-top:4px; opacity:1; transform:none; }
.prm-tx-note-status[hidden] { display:none; }
.prm-tx-detail-guidance { grid-column:1/-1; max-height:0; overflow:hidden; margin:0; color:#765516; font-size:8px; font-weight:800; opacity:0; transform:translateY(-3px); transition:max-height 190ms var(--tx-ease), margin 190ms var(--tx-ease), opacity 150ms ease, transform 190ms var(--tx-ease); }
.prm-tx-detail-guidance.is-visible { max-height:24px; margin-top:1px; opacity:1; transform:none; }

.prm-tx-add-detail {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  padding: 0 13px;
  border: 1px dashed #93b7a0;
  border-radius: 10px;
  background: #fff;
  color: var(--tx-green);
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease;
}
.prm-tx-add-detail:hover:not(:disabled) { border-color:var(--tx-green); background:var(--tx-mint); }
.prm-tx-add-detail svg { width:18px; }
.prm-tx-add-detail:disabled { cursor:not-allowed; }

.prm-tx-evidence {
  padding:10px;
  border:1px solid #c5dde5;
  border-radius:18px;
  background:var(--tx-sky);
}
.prm-tx-evidence__count {
  flex: 0 0 auto;
  padding: 5px 8px;
  border: 1px solid #c7ddce;
  border-radius: 999px;
  background: #fff;
  color: var(--tx-green);
  font-size: 8px;
  font-weight: 900;
}
.prm-tx-upload > button {
  width:100%;
  min-height:52px;
  display:grid;
  grid-template-columns: 38px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px dashed #9dbda7;
  border-radius:12px;
  background:#fff;
  color:var(--tx-ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:border-color 160ms ease, background-color 160ms ease;
}
.prm-tx-upload > button:hover:not(:disabled) { border-color:var(--tx-green); background:#fcfefc; }
.prm-tx-upload > button:disabled { cursor:not-allowed; }
.prm-tx-upload > button.is-at-limit { cursor:not-allowed; opacity:.58; }
.prm-tx-upload.is-limit-rejected { animation:prmTxUploadReject 380ms ease both; }
@keyframes prmTxUploadReject { 30%,70% { transform:translateX(-3px); } 50%,90% { transform:translateX(3px); } }
.prm-tx-upload__icon { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; background:var(--tx-mint); color:var(--tx-green); }
.prm-tx-upload__icon svg { width:19px; }
.prm-tx-upload strong { display:block; font-size:11px; }
.prm-tx-upload small { display:block; margin-top:2px; color:var(--tx-muted); font-size:8px; font-weight:700; }
.prm-tx-upload__message { min-height:17px; margin:5px 1px 0; color:#7d5a1c; font-size:8px; font-weight:700; }
.prm-tx-upload__message:empty { display:none; }
.prm-tx-file-list { display:grid; gap:5px; margin-top:8px; }
.prm-tx-file-row {
  min-height:48px;
  max-height:64px;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 38px;
  align-items:center;
  gap:9px;
  padding:6px 7px;
  border:1px solid var(--tx-soft-line);
  border-radius:10px;
  background:#fff;
  animation:prmTxFileIn 180ms var(--tx-ease) both;
}
.prm-tx-file-row.is-removing { overflow:hidden; animation:prmTxFileOut 190ms ease-in both; }
@keyframes prmTxFileOut { to { opacity:0; transform:translateX(8px); max-height:0; min-height:0; margin:0; padding-top:0; padding-bottom:0; } }
@keyframes prmTxFileIn { from { opacity:0; transform:translate3d(0,5px,0); } to { opacity:1; transform:none; } }
.prm-tx-file-row__preview { width:32px; height:32px; display:grid; place-items:center; overflow:hidden; border-radius:8px; background:var(--tx-cream); color:#9b6b16; }
.prm-tx-file-row__preview img { width:100%; height:100%; object-fit:cover; }
.prm-tx-file-row__preview svg { width:17px; }
.prm-tx-file-row__copy { min-width:0; }
.prm-tx-file-row__copy strong { display:block; overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.prm-tx-file-row__copy small { display:block; overflow:hidden; margin-top:1px; color:var(--tx-muted); font-size:8px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.prm-tx-file-row__remove { width:36px; height:36px; display:grid; place-items:center; border:1px solid #e9c9c3; border-radius:9px; background:#fff8f6; color:var(--tx-danger); cursor:pointer; }
.prm-tx-file-row__remove svg { width:17px; }

.prm-tx-note {
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:9px;
  margin-top:18px;
  padding:11px 12px;
  border-left:3px solid #8db59a;
  background:#eef5f0;
  color:#304b39;
}
.prm-tx-note svg { width:18px; margin-top:1px; color:var(--tx-green); }
.prm-tx-note strong { display:block; font-size:9px; }
.prm-tx-note small { display:block; margin-top:2px; color:var(--tx-muted); font-size:8px; font-weight:700; }
.prm-tx-note.is-emphasized { animation:prmTxNote 320ms ease-out; }
@keyframes prmTxNote { 50% { background:#dceee2; } }

.prm-tx-review {
  min-height:0;
  overflow:auto;
  padding:14px;
  background:#eff6f0;
  animation:prmTxReviewIn 230ms var(--tx-ease) both;
}
.prm-tx-review[hidden],.prm-tx-review__footer[hidden] { display:none; }
@keyframes prmTxReviewIn { from { opacity:0; transform:translate3d(10px,0,0); } to { opacity:1; transform:none; } }
.prm-tx-review__heading { display:flex; justify-content:space-between; margin-bottom:10px; }
.prm-tx-review__heading small,.prm-tx-review__section > header small { display:block; color:var(--tx-green); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.prm-tx-review__heading h3 { margin:2px 0 0; color:var(--tx-ink); font-size:16px; font-weight:900; }
.prm-tx-review__heading p { margin:3px 0 0; color:var(--tx-muted); font-size:9px; font-weight:700; }
.prm-tx-review__context { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.prm-tx-review__context article { display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-width:0;min-height:58px;padding:9px 10px;border:1px solid #bad8c3;border-radius:12px;background:var(--tx-mint); }
.prm-tx-review__context article>span:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff;color:var(--tx-green)}
.prm-tx-review__context article>span:first-child svg{width:16px;height:16px}
.prm-tx-review__context small { display:block; color:#50705c; font-size:8px; font-weight:800; }
.prm-tx-review__context strong { display:block; overflow:hidden; margin-top:3px; color:var(--tx-green-dark); font-size:11px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
.prm-tx-review__section { margin-top:10px; padding:10px; border:1px solid #e6d6ac; border-radius:16px; background:var(--tx-cream); }
.prm-tx-review__section--files { border-color:#c5dde5; background:var(--tx-sky); }
.prm-tx-review__section > header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:7px; }
.prm-tx-review__section > header strong { color:var(--tx-muted); font-size:9px; font-weight:900; }
.prm-tx-review__details { display:grid; gap:7px; }
.prm-tx-review-detail { overflow:hidden; border:1px solid var(--tx-line); border-radius:12px; background:#fff; animation:prmTxReviewItemIn 210ms var(--tx-ease) both; }
.prm-tx-review-detail > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 10px; border-bottom:1px solid var(--tx-soft-line); background:#fbfdfb; }
.prm-tx-review-detail header small { display:block; color:var(--tx-green); font-size:8px; font-weight:900; text-transform:uppercase; }
.prm-tx-review-detail header strong { display:block; margin-top:2px; color:var(--tx-ink); font-size:10px; }
.prm-tx-review-detail header b { flex:0 0 auto; padding:5px 8px; border-radius:8px; background:var(--tx-mint); color:var(--tx-green-dark); font-size:11px; font-weight:900; }
.prm-tx-review-detail dl { display:grid; grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr); gap:10px; margin:0; padding:8px 10px; }
.prm-tx-review-detail dl div { min-width:0; }
.prm-tx-review-detail dt { color:var(--tx-muted); font-size:8px; font-weight:800; }
.prm-tx-review-detail dd { margin:2px 0 0; color:var(--tx-ink); font-size:9px; font-weight:800; line-height:1.45; }
.prm-tx-review-detail dd em { color:#7d8981; font-style:normal; font-weight:700; }
.prm-tx-review-detail__note { display:grid; grid-template-columns:minmax(0,1fr) 32px; align-items:end; gap:7px; }
.prm-tx-review-detail__note > span { min-width:0; }
.prm-tx-review-detail__note dd { position:relative; overflow:hidden; white-space:nowrap; text-overflow:clip; }
.prm-tx-review-detail__note.has-overflow dd { padding-right:26px; }
.prm-tx-review-detail__note.has-overflow dd::after { content:""; position:absolute; inset:0 0 0 auto; width:42px; background:linear-gradient(90deg,rgba(255,255,255,0),#fff 78%); pointer-events:none; }
.prm-tx-review-note-open { width:32px; height:32px; display:grid; place-items:center; padding:0; border:1px solid var(--tx-line); border-radius:9px; background:#fff; color:var(--tx-green); cursor:pointer; transition:background-color 150ms ease,border-color 150ms ease,transform 150ms ease; }
.prm-tx-review-note-open:hover { border-color:#9fbdab; background:var(--tx-mint); }
.prm-tx-review-note-open:active { transform:scale(.96); }
.prm-tx-review-note-open svg { width:16px; }
.prm-tx-review__files { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.prm-tx-review__files article { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:8px; padding:6px; border:1px solid var(--tx-soft-line); border-radius:10px; background:#fff; animation:prmTxReviewItemIn 210ms var(--tx-ease) both; }
.prm-tx-review__files article > span { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; overflow:hidden; border-radius:8px; background:var(--tx-cream); color:var(--tx-green); }
.prm-tx-review__files img { width:100%; height:100%; object-fit:cover; }
.prm-tx-review__files svg { width:18px; }
.prm-tx-review__files strong,.prm-tx-review__files small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.prm-tx-review__files strong { align-self:end; font-size:9px; }
.prm-tx-review__files small { align-self:start; color:var(--tx-muted); font-size:8px; font-weight:700; }
.prm-tx-review__files > p { grid-column:1/-1; margin:0; padding:10px; border:1px dashed #b8d0d8; border-radius:10px; background:#fff; color:var(--tx-muted); font-size:9px; font-weight:700; text-align:center; }
@keyframes prmTxReviewItemIn { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
.prm-tx-review__footer { background:var(--tx-mint); }
.prm-tx-save-status { margin:10px 0 0; padding:9px 11px; border:1px solid #bad8c3; border-radius:10px; background:#fff; color:#31543d; font-size:9px; font-weight:800; line-height:1.5; }
.prm-tx-save-status[hidden] { display:none; }
.prm-tx-save-status.is-error { border-color:#e5b8b0; background:#fff5f3; color:#9a3e31; }
.prm-tx-save-status.is-success { border-color:#9cc9aa; background:#eef9f1; color:#126537; }

.prm-tx-form__footer {
  position:relative;
  z-index:2;
  flex:0 0 auto;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:13px 20px;
  border-top:1px solid var(--tx-line);
  background:var(--tx-cream);
}
.prm-tx-button {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 16px;
  border-radius:10px;
  font:inherit;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
  transition:background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.prm-tx-button svg { width:17px; }
.prm-tx-button--secondary { border:1px solid var(--tx-line); background:#fff; color:#405147; }
.prm-tx-button--secondary:hover { border-color:#b8c9bd; background:var(--tx-canvas); }
.prm-tx-button--primary,
.prm-tx-strong-button { border:1px solid var(--tx-green); background:var(--tx-green); color:#fff; }
.prm-tx-button--primary:hover:not(:disabled) { border-color:var(--tx-green-dark); background:var(--tx-green-dark); }
.prm-tx-button--danger { border:1px solid var(--tx-danger); background:var(--tx-danger); color:#fff; }
.prm-tx-button:disabled,
.prm-tx-button.is-disabled { cursor:not-allowed; opacity:.52; }
.prm-tx-button.is-disabled:focus-visible { outline-color:rgba(163,59,49,.28); }

.prm-tx-context__field.is-invalid .prm-tx-context__button,
.prm-tx-detail-category__trigger.is-invalid,
.prm-tx-input-field.is-invalid .prm-tx-money { border-color:var(--tx-danger); box-shadow:0 0 0 3px rgba(163,59,49,.13); }
.prm-tx-detail-category__trigger.is-invalid { border-color:var(--tx-danger); box-shadow:0 0 0 3px rgba(163,59,49,.13); }

/* Floating contextual pickers are portaled to body to escape scrolling panels. */
.prm-tx-picker,
.prm-tx-date-picker {
  position:absolute;
  z-index:40;
  width:min(360px, calc(100vw - 24px));
  border:1px solid #c9d9ce;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 46px rgba(7,48,25,.18);
}
.prm-tx-picker[hidden],
.prm-tx-date-picker[hidden] { display:none !important; }
.prm-tx-floating-picker {
  position:fixed !important;
  z-index:1510 !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  margin:0 !important;
  max-height:min(560px, calc(100dvh - 28px));
  overflow:auto;
  animation:prmTxPickerIn 180ms var(--tx-ease) both;
}
.prm-tx-picker.is-closing,
.prm-tx-date-picker.is-closing {
  position:fixed !important;
  z-index:1510 !important;
  animation:prmTxPickerOut 160ms ease-in both;
}
@keyframes prmTxPickerIn { from { opacity:0; transform:translate3d(-50%,calc(-50% + 8px),0) scale(.985); } to { opacity:1; transform:translate3d(-50%,-50%,0) scale(1); } }
@keyframes prmTxPickerOut { from { opacity:1; transform:translate3d(-50%,-50%,0) scale(1); } to { opacity:0; transform:translate3d(-50%,calc(-50% + 5px),0) scale(.99); } }
.prm-tx-picker__header {
  min-height:58px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 36px;
  align-items:center;
  gap:9px;
  padding:10px 10px 10px 13px;
  border-bottom:1px solid var(--tx-soft-line);
  background:var(--tx-mint);
}
.prm-tx-picker__header strong { display:block; margin-top:2px; color:var(--tx-ink); font-size:12px; }
.prm-tx-picker__header button {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid var(--tx-line);
  border-radius:9px;
  background:#fff;
  color:#536358;
  cursor:pointer;
}
.prm-tx-picker__header button svg { width:17px; }
.prm-tx-picker__header:has(.prm-tx-picker__back) { grid-template-columns:40px minmax(0,1fr) 40px; padding-left:10px; }
.prm-tx-picker__header .prm-tx-picker__back { color:var(--tx-green); }
.prm-tx-picker__list { display:grid; gap:3px; padding:6px; }
.prm-tx-picker__empty { padding:15px 12px; text-align:center; }
.prm-tx-picker__empty strong { display:block; color:var(--tx-ink); font-size:10px; }
.prm-tx-picker__empty small { display:block; margin-top:3px; color:var(--tx-muted); font-size:9px; font-weight:700; line-height:1.45; }
.prm-tx-picker__list [role="option"] {
  min-height:49px;
  display:grid;
  grid-template-columns:31px minmax(0,1fr) 18px;
  align-items:center;
  gap:8px;
  padding:6px 8px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--tx-ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:background-color 140ms ease, color 140ms ease;
}
.prm-tx-picker__list [role="option"]:hover,
.prm-tx-picker__list [role="option"]:focus-visible,
.prm-tx-picker__list [role="option"][aria-selected="true"] { background:var(--tx-mint); color:var(--tx-green-dark); }
.prm-tx-picker__option-icon { width:31px; height:31px; display:grid; place-items:center; border-radius:8px; background:#f0f5f1; color:#567263; }
.prm-tx-picker__option-icon svg { width:16px; }
.prm-tx-picker__list [role="option"] > span:nth-child(2) { min-width:0; }
.prm-tx-picker__list strong { display:block; overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.prm-tx-picker__list small { display:block; overflow:hidden; margin-top:2px; color:var(--tx-muted); font-size:8px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.prm-tx-picker__empty small { overflow:visible; white-space:normal; text-overflow:clip; }
.prm-tx-picker__check { width:17px; color:var(--tx-green); opacity:0; }
.prm-tx-picker__list [aria-selected="true"] .prm-tx-picker__check { opacity:1; }
.prm-tx-picker__footer { display:flex; justify-content:center; padding:10px 12px 12px; border-top:1px solid var(--tx-soft-line); }
.prm-tx-text-button,
.prm-tx-strong-button {
  min-height:38px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 11px;
  border:1px solid var(--tx-line);
  border-radius:9px;
  background:#fff;
  color:var(--tx-green);
  font:inherit;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
.prm-tx-text-button svg { width:16px; }
.prm-tx-text-button:disabled { opacity:.45; cursor:not-allowed; background:#f4f8f4; color:#7f9285; border-color:#d9e4db; }
.prm-tx-strong-button { border-color:var(--tx-green); }
.prm-tx-strong-button:hover { border-color:#78aa89; background:var(--tx-mint); color:var(--tx-green-dark); }

.prm-tx-period-picker { width:min(480px,calc(100vw - 28px)); overflow:hidden; }
.prm-tx-period-picker.is-resizing { transition:height 240ms var(--tx-ease); }
.prm-tx-period-inspector__context { display:grid; grid-template-columns:38px minmax(0,1fr); gap:10px; align-items:start; margin:12px 12px 0; padding:11px; border:1px solid #d6e6da; border-radius:12px; background:#f6fbf7; }
.prm-tx-period-inspector__context-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; background:#e0f0e4; color:var(--tx-green); }
.prm-tx-period-inspector__context-icon svg { width:19px; }
.prm-tx-period-inspector__context small,.prm-tx-period-inspector__context strong,.prm-tx-period-inspector__context em { display:block; }
.prm-tx-period-inspector__context small { color:#62806d; font-size:8px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.prm-tx-period-inspector__context strong { margin-top:2px; color:var(--tx-ink); font-size:11px; line-height:1.35; }
.prm-tx-period-inspector__context em { margin-top:3px; color:var(--tx-muted); font-size:8px; font-style:normal; font-weight:700; line-height:1.45; }
.prm-tx-period-inspector__body { max-height:min(390px,calc(100vh - 242px)); padding:12px; overflow:auto; }
.prm-tx-period-group + .prm-tx-period-group { margin-top:10px; }
.prm-tx-period-group__header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin:0 2px 7px; }
.prm-tx-period-group h3 { margin:0; color:var(--tx-ink); font-size:10px; font-weight:900; line-height:1.25; }
.prm-tx-period-group p { margin:2px 0 0; color:var(--tx-muted); font-size:8px; font-weight:700; line-height:1.4; }
.prm-tx-period-group__header > b,.prm-tx-period-more > summary > b { flex:0 0 auto; min-width:22px; padding:3px 6px; border-radius:999px; background:#e2f1e6; color:#286241; font-size:8px; font-weight:900; line-height:1.2; text-align:center; }
.prm-tx-period-list { display:grid; gap:6px; }
.prm-tx-period-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:9px; align-items:center; min-height:58px; padding:8px; border:1px solid #dce8df; border-radius:11px; background:#fff; }
.prm-tx-period-row.is-open { border-color:#c9e2d0; background:#fcfffc; }
.prm-tx-period-row__icon { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; background:#e5f2e8; color:var(--tx-green); }
.prm-tx-period-row.is-closed .prm-tx-period-row__icon { background:#f0f3f1; color:#718178; }
.prm-tx-period-row__icon svg { width:17px; }
.prm-tx-period-row__copy { min-width:0; }
.prm-tx-period-row__copy strong,.prm-tx-period-row__copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.prm-tx-period-row__copy strong { color:var(--tx-ink); font-size:10px; font-weight:900; }
.prm-tx-period-row__copy small { margin-top:3px; color:var(--tx-muted); font-size:8px; font-weight:700; }
.prm-tx-period-row__state { padding:3px 6px; border-radius:999px; background:#def0e3; color:#22613d; font-size:7px; font-weight:900; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap; }
.prm-tx-period-row.is-closed .prm-tx-period-row__state { background:#edf0ee; color:#66746b; }
.prm-tx-period-more { margin-top:7px; overflow:hidden; border:1px solid #dce8df; border-radius:11px; background:#fafcfb; }
.prm-tx-period-more.is-animating { transition:height 240ms var(--tx-ease); }
.prm-tx-period-more > summary { display:grid; grid-template-columns:minmax(0,1fr) auto 16px; gap:8px; align-items:center; min-height:42px; padding:8px 10px; color:var(--tx-green-dark); cursor:pointer; list-style:none; }
.prm-tx-period-more > summary::-webkit-details-marker { display:none; }
.prm-tx-period-more > summary > span { min-width:0; font-size:9px; font-weight:900; }
.prm-tx-period-more > summary h3 { font-size:9px; }
.prm-tx-period-more > summary p { max-width:260px; }
.prm-tx-period-more > summary > svg { width:15px; transition:transform 160ms var(--tx-ease); }
.prm-tx-period-more[open] > summary > svg { transform:rotate(180deg); }
.prm-tx-period-more > .prm-tx-period-list { padding:0 8px 8px; }
.prm-tx-period-more.is-opening > .prm-tx-period-list { animation:prmTxPeriodDisclosureIn 220ms var(--tx-ease) both; }
.prm-tx-period-more.is-collapsing > summary > svg { transform:rotate(0); }
.prm-tx-period-more.is-collapsing > .prm-tx-period-list { opacity:0; transform:translate3d(0,-4px,0); transition:opacity 150ms ease,transform 180ms var(--tx-ease); }
@keyframes prmTxPeriodDisclosureIn { from { opacity:0; transform:translate3d(0,-5px,0); } to { opacity:1; transform:none; } }
.prm-tx-period-inspector [data-tx-period-empty] { margin:4px 0; border:1px dashed #cbdccf; border-radius:11px; background:#fafcfb; }
@media (max-width:480px) {
  .prm-tx-period-picker { width:calc(100vw - 20px); }
  .prm-tx-period-inspector__body { max-height:min(360px,calc(100vh - 220px)); }
  .prm-tx-period-row { grid-template-columns:32px minmax(0,1fr); }
  .prm-tx-period-row__state { grid-column:2; justify-self:start; margin-top:-4px; }
}
.prm-tx-period-view { animation:prmTxPeriodViewIn 180ms var(--tx-ease) both; }
.prm-tx-period-view[hidden] { display:none; }
@keyframes prmTxPeriodViewIn { from { opacity:0; transform:translate3d(9px,0,0); } to { opacity:1; transform:none; } }
.prm-tx-period-years,
.prm-tx-period-months { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding:12px; }
.prm-tx-period-types { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:12px; }
.prm-tx-period-types button { min-height:62px; padding:10px; border:1px solid var(--tx-line); border-radius:11px; background:#fff; color:var(--tx-ink); font:inherit; text-align:left; cursor:pointer; transition:background-color 150ms ease,border-color 150ms ease; }
.prm-tx-period-types button:hover,.prm-tx-period-types button:focus-visible,.prm-tx-period-types button[aria-selected="true"] { border-color:#83b593; background:var(--tx-mint); box-shadow:0 0 0 1px rgba(15,116,61,.08); }
.prm-tx-period-types strong,.prm-tx-period-types small { display:block; }
.prm-tx-period-types strong { font-size:10px; font-weight:900; }
.prm-tx-period-types small { margin-top:3px; color:var(--tx-muted); font-size:8px; font-weight:700; }
.prm-tx-period-breadcrumb { display:flex; gap:6px; align-items:center; padding:9px 12px 0; color:var(--tx-muted); font-size:8px; font-weight:700; }
.prm-tx-period-breadcrumb:not([hidden]) { display:flex; }
.prm-tx-period-breadcrumb span { cursor:pointer; }
.prm-tx-period-breadcrumb span:hover { color:var(--tx-green); text-decoration:underline; text-underline-offset:2px; }
.prm-tx-period-breadcrumb span:not(:last-child)::after { content:'/'; margin-left:6px; color:#afbeb3; }
.prm-tx-period-breadcrumb strong { color:var(--tx-green); font-weight:900; }
.prm-tx-period-year-nav { display:grid; grid-template-columns:34px minmax(0,1fr) 34px; align-items:center; gap:8px; padding:10px 12px 2px; }
.prm-tx-period-year-nav strong { text-align:center; color:var(--tx-green-dark); font-size:10px; font-weight:900; }
.prm-tx-period-year-nav button { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--tx-line); border-radius:9px; background:#fff; color:var(--tx-green); cursor:pointer; transition:background-color 140ms ease,border-color 140ms ease,opacity 140ms ease; }
.prm-tx-period-year-nav button:hover:not(:disabled),.prm-tx-period-year-nav button:focus-visible { border-color:#9bc2a6; background:var(--tx-mint); }
.prm-tx-period-year-nav button:disabled { opacity:.35; cursor:not-allowed; }
.prm-tx-period-year-nav svg { width:15px; }
.prm-tx-period-years.is-year-prev { animation:prmTxYearSlidePrev 190ms var(--tx-ease); }
.prm-tx-period-years.is-year-next { animation:prmTxYearSlideNext 190ms var(--tx-ease); }
@keyframes prmTxYearSlidePrev { from { opacity:.25; transform:translateX(14px); } to { opacity:1; transform:none; } }
@keyframes prmTxYearSlideNext { from { opacity:.25; transform:translateX(-14px); } to { opacity:1; transform:none; } }
.prm-tx-period-range-preview { display:grid; justify-items:center; gap:3px; min-height:34px; padding:8px 12px 1px; color:var(--tx-green-dark); text-align:center; }
.prm-tx-period-range-preview[hidden] { display:none; }
.prm-tx-period-range-preview strong { display:block; font-size:11px; font-weight:900; line-height:1.35; transform-origin:center; }
.prm-tx-period-range-preview small { color:#60766a; font-size:8px; font-weight:700; line-height:1.4; }
.prm-tx-period-range-preview strong.is-preview-leaving,
.prm-tx-period-confirm strong.is-preview-leaving { animation:prmTxPeriodPreviewOut 100ms ease-in forwards; }
.prm-tx-period-range-preview strong.is-preview-entering,
.prm-tx-period-confirm strong.is-preview-entering { animation:prmTxPeriodPreviewIn 180ms var(--tx-ease) both; }
@keyframes prmTxPeriodPreviewOut { to { opacity:0; transform:translateY(-3px) scale(.985); } }
@keyframes prmTxPeriodPreviewIn { from { opacity:0; transform:translateY(4px) scale(.985); } to { opacity:1; transform:none; } }
.prm-tx-period-view.is-step-forward .prm-tx-period-months,
.prm-tx-period-view.is-step-forward .prm-tx-period-years { animation:prmTxPeriodStepForward 220ms var(--tx-ease); }
.prm-tx-period-view.is-step-back .prm-tx-period-months,
.prm-tx-period-view.is-step-back .prm-tx-period-years { animation:prmTxPeriodStepBack 220ms var(--tx-ease); }
@keyframes prmTxPeriodStepForward { from { opacity:.2; transform:translate3d(12px,0,0); } to { opacity:1; transform:none; } }
@keyframes prmTxPeriodStepBack { from { opacity:.2; transform:translate3d(-12px,0,0); } to { opacity:1; transform:none; } }
.prm-tx-period-years button,
.prm-tx-period-months button {
  position:relative;
  min-height:42px;
  border:1px solid var(--tx-line);
  border-radius:9px;
  background:#fff;
  color:#375242;
  font:inherit;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
  transition:background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}
.prm-tx-period-years button:disabled,
.prm-tx-period-months button:disabled { opacity:.4; cursor:not-allowed; background:#f4f7f4; color:#8b9b90; }
.prm-tx-period-years button:hover:not(:disabled),
.prm-tx-period-years button[aria-selected="true"],
.prm-tx-period-months button:hover:not(:disabled),
.prm-tx-period-months button[aria-selected="true"] { border-color:#9bc2a6; background:var(--tx-mint); color:var(--tx-green-dark); }
.prm-tx-period-years button.is-range-origin:not([aria-selected="true"]),
.prm-tx-period-months button.is-range-origin:not([aria-selected="true"]) { border-color:#a9c8b1; border-style:dashed; background:#f6faf7; color:#426050; }
.prm-tx-period-years button.is-range-origin::after,
.prm-tx-period-months button.is-range-origin::after { content:'Awal'; position:absolute; top:3px; right:4px; padding:1px 4px; border-radius:999px; background:#dceddf; color:#23623b; font-size:6px; font-weight:900; letter-spacing:.02em; line-height:1.4; }
.prm-tx-period-years button.is-range-origin[aria-selected="true"]::after,
.prm-tx-period-months button.is-range-origin[aria-selected="true"]::after { background:#fff; color:var(--tx-green); }
.prm-tx-period-confirm { display:grid; grid-template-columns:40px minmax(0,1fr) 38px; align-items:center; gap:11px; margin:14px; padding:12px; border:1px solid #d4e6da; border-radius:12px; background:var(--tx-mint); }
.prm-tx-period-confirm__icon { width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:#fff; color:var(--tx-green); }
.prm-tx-period-confirm__icon svg { width:20px; }
.prm-tx-period-confirm small { display:block; color:var(--tx-muted); font-size:8px; font-weight:700; }
.prm-tx-period-confirm strong { display:block; margin-top:2px; color:var(--tx-ink); font-size:13px; }
.prm-tx-period-confirm [hidden],.prm-tx-period-picker .prm-tx-picker__footer[hidden],.prm-tx-period-picker button[hidden] { display:none !important; }
.prm-tx-period-confirm__note { margin-top:4px; color:#52705f !important; font-weight:700 !important; }
.prm-tx-period-confirm__edit { width:38px; height:38px; display:grid; place-items:center; border:1px solid #bdd8c4; border-radius:10px; background:#fff; color:var(--tx-green); cursor:pointer; transition:background-color 160ms ease,border-color 160ms ease,transform 160ms ease; }
.prm-tx-period-confirm__edit:hover,.prm-tx-period-confirm__edit:focus-visible { border-color:#83b593; background:#f4faf5; }
.prm-tx-period-confirm__edit:active { transform:scale(.96); }
.prm-tx-period-confirm__edit svg { width:17px; }

.prm-tx-date-picker { width:340px; padding:12px; border-radius:18px; }
.prm-tx-date-picker > header { margin:-12px -12px 10px; padding:10px 12px; border-bottom:1px solid var(--tx-soft-line); background:var(--tx-mint); }
.prm-tx-date-picker > header { display:grid; grid-template-columns:40px 1fr 40px; align-items:center; gap:6px; }
.prm-tx-date-picker > header strong { text-align:center; font-size:11px; }
.prm-tx-date-picker > header button,
.prm-tx-date-picker > footer button {
  min-height:40px;
  border:1px solid var(--tx-line);
  border-radius:8px;
  background:#fff;
  color:var(--tx-green);
  font:inherit;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
.prm-tx-date-picker > header button { width:40px; display:grid; place-items:center; }
.prm-tx-date-picker > header svg { width:16px; }
.prm-tx-date-picker__week,
.prm-tx-date-picker__grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.prm-tx-date-picker__week span { padding:4px 0; color:var(--tx-muted); font-size:8px; font-weight:800; text-align:center; }
.prm-tx-date-picker__grid { min-height:0; grid-auto-rows:40px; }
.prm-tx-date-picker__grid.is-next { animation:prmTxCalendarNext 150ms var(--tx-ease); }
.prm-tx-date-picker__grid.is-prev { animation:prmTxCalendarPrev 150ms var(--tx-ease); }
@keyframes prmTxCalendarNext { from { opacity:.25; transform:translate3d(8px,0,0); } to { opacity:1; transform:none; } }
@keyframes prmTxCalendarPrev { from { opacity:.25; transform:translate3d(-8px,0,0); } to { opacity:1; transform:none; } }
.prm-tx-date-picker__grid button { aspect-ratio:1; border:0; border-radius:7px; background:transparent; color:var(--tx-ink); font:inherit; font-size:9px; font-weight:700; cursor:pointer; }
.prm-tx-date-picker__grid button:hover,
.prm-tx-date-picker__grid button:focus-visible { background:var(--tx-mint); color:var(--tx-green-dark); }
.prm-tx-date-picker__grid button.is-muted { color:#aab3ad; }
.prm-tx-date-picker.is-period-locked > header button { visibility:hidden; }
.prm-tx-date-picker__grid button.is-muted:disabled { opacity:0; pointer-events:none; }
.prm-tx-date-picker > footer button:disabled { cursor:not-allowed; opacity:.42; }
.prm-tx-date-picker__grid button.is-today { box-shadow:inset 0 0 0 1px #84ac91; }
.prm-tx-date-picker__grid button.is-selected { background:var(--tx-green); color:#fff; font-weight:900; }
.prm-tx-date-picker__grid button.is-selected { animation:prmTxDateSelect 160ms var(--tx-ease); }
@keyframes prmTxDateSelect { from { transform:scale(.82); } to { transform:scale(1); } }
.prm-tx-date-picker > footer { display:flex; justify-content:flex-end; margin-top:8px; padding-top:8px; border-top:1px solid var(--tx-soft-line); }
.prm-tx-date-picker > footer button { padding:0 12px; }

/* Nested panels deliberately share the one modal backdrop; no second blur/scrim. */
.prm-tx-subdialog {
  position:absolute;
  inset:0;
  z-index:3;
  display:grid;
  place-items:center;
  padding:24px;
  pointer-events:none;
}
.prm-tx-subdialog[hidden] { display:none; }
.prm-tx-subdialog.is-open { pointer-events:auto; }
.prm-tx-subdialog.is-backgrounded { pointer-events:none; }
.prm-tx-subdialog__panel {
  width:min(620px,100%);
  max-height:min(720px,calc(100dvh - 48px));
  overflow:auto;
  border:1px solid rgba(255,255,255,.78);
  border-radius:20px;
  background:#fff;
  box-shadow:0 24px 68px rgba(3,30,13,.25);
  opacity:0;
  transform:translate3d(0,10px,0);
}
.prm-tx-subdialog.is-open .prm-tx-subdialog__panel { animation:prmTxSubdialogIn 240ms var(--tx-ease) both; }
.prm-tx-subdialog.is-closing .prm-tx-subdialog__panel { animation:prmTxSubdialogOut 170ms ease-in both; }
@keyframes prmTxSubdialogIn { to { opacity:1; transform:none; } }
@keyframes prmTxSubdialogOut { from { opacity:1; transform:none; } to { opacity:0; transform:translate3d(0,6px,0); } }
.prm-tx-subdialog__header {
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  align-items:start;
  gap:12px;
  padding:20px;
  border-bottom:1px solid var(--tx-line);
  background:#fff;
}
.prm-tx-subdialog__header h2 { margin:2px 0 0; color:var(--tx-ink); font-size:19px; line-height:1.3; }
.prm-tx-subdialog__header p { margin:4px 0 0; color:var(--tx-muted); font-size:10px; font-weight:700; line-height:1.55; }
.prm-tx-subdialog__header > button {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid var(--tx-line);
  border-radius:10px;
  background:#fff;
  color:#536358;
  cursor:pointer;
}
.prm-tx-subdialog__header > button svg { width:19px; }
.prm-tx-kind-list { display:grid; gap:8px; padding:14px; }
.prm-tx-kind-list article {
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  align-items:stretch;
  gap:7px;
  padding:6px;
  border:1px solid var(--tx-line);
  border-radius:13px;
  background:#fff;
  opacity:0;
  transform:translate3d(0,6px,0);
}
.prm-tx-subdialog.is-open .prm-tx-kind-list article:nth-child(1) { animation:prmTxOptionIn 190ms 35ms var(--tx-ease) both; }
.prm-tx-subdialog.is-open .prm-tx-kind-list article:nth-child(2) { animation:prmTxOptionIn 190ms 70ms var(--tx-ease) both; }
.prm-tx-subdialog.is-open .prm-tx-kind-list article:nth-child(3) { animation:prmTxOptionIn 190ms 105ms var(--tx-ease) both; }
@keyframes prmTxOptionIn { to { opacity:1; transform:none; } }
.prm-tx-kind-choice {
  min-height:70px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  align-items:center;
  gap:11px;
  padding:8px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--tx-ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:background-color 160ms ease;
}
.prm-tx-kind-choice:hover,
.prm-tx-kind-choice:focus-visible { background:var(--tx-mint); }
.prm-tx-kind-choice__icon {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
}
.prm-tx-kind-choice__icon svg { width:20px; }
.prm-tx-kind-choice__icon path,
.prm-tx-context__field--kind .prm-tx-context__icon path { stroke-width:2.35; }
.prm-tx-kind-choice__icon.is-income { background:#15965a; color:#dff7e8; }
.prm-tx-kind-choice__icon.is-expense { background:#d75a4a; color:#fff0ed; }
.prm-tx-kind-choice__icon.is-transfer { background:#4a86a3; color:#edf7fb; }
.prm-tx-kind-choice strong { display:block; font-size:12px; }
.prm-tx-kind-choice small { display:block; margin-top:3px; color:var(--tx-muted); font-size:9px; font-weight:700; line-height:1.45; }
.prm-tx-kind-help {
  width:44px;
  height:44px;
  align-self:center;
  display:grid;
  place-items:center;
  border:1px solid var(--tx-line);
  border-radius:10px;
  background:#fff;
  color:var(--tx-green);
  font:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.prm-tx-kind-help:hover { border-color:#9fbfac; background:var(--tx-mint); }
.prm-tx-kind-explainer { display:grid; gap:8px; padding:14px; }
.prm-tx-kind-explainer article {
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  align-items:start;
  gap:11px;
  padding:12px;
  border:1px solid var(--tx-line);
  border-radius:13px;
  background:#fff;
  transition:border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}
.prm-tx-kind-explainer article.is-highlighted { border-color:#93bfa1; background:var(--tx-mint); box-shadow:0 8px 20px rgba(8,74,38,.08); }
.prm-tx-kind-explainer strong { display:block; color:var(--tx-ink); font-size:12px; }
.prm-tx-kind-explainer small { display:block; margin-top:3px; color:var(--tx-muted); font-size:9px; font-weight:700; line-height:1.55; }
.prm-tx-category-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:14px; }
.prm-tx-category-list button {
  min-height:64px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 17px;
  align-items:center;
  gap:8px;
  padding:8px;
  border:1px solid var(--tx-line);
  border-radius:12px;
  background:#fff;
  color:var(--tx-ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}
.prm-tx-category-list button:hover,
.prm-tx-category-list button:focus-visible,
.prm-tx-category-list button[aria-selected="true"] { border-color:#9bc2a6; background:var(--tx-mint); color:var(--tx-green-dark); }
.prm-tx-category-list button.is-unavailable { border-color:#d9dfdb; background:#f3f5f4; color:#6f7a73; cursor:not-allowed; filter:saturate(.25); }
.prm-tx-category-list button.is-unavailable:hover,.prm-tx-category-list button.is-unavailable:focus-visible { border-color:#c6ceca; background:#ecefed; box-shadow:0 0 0 3px rgba(93,108,99,.12); color:#58635c; }
.prm-tx-category-list button.is-unavailable .prm-tx-category-list__number { background:#e1e5e2; color:#69756d; }
.prm-tx-category-list button.is-unavailable small { color:#758078; }
.prm-tx-category-notice { display:grid; grid-template-columns:24px minmax(0,1fr); gap:8px; align-items:start; max-height:0; margin:0 14px; overflow:hidden; border:1px solid transparent; border-radius:11px; background:#fbf7ea; color:#785d1c; opacity:0; transform:translate3d(0,-5px,0); transition:max-height 220ms var(--tx-ease),margin 220ms var(--tx-ease),padding 220ms var(--tx-ease),border-color 180ms ease,opacity 180ms ease,transform 220ms var(--tx-ease); }
.prm-tx-category-notice[hidden] { display:none; }
.prm-tx-category-notice.is-visible { max-height:92px; margin-top:11px; padding:9px 10px; border-color:#ead8a5; opacity:1; transform:none; }
.prm-tx-category-notice svg { width:19px; margin-top:1px; color:#a77c1b; }
.prm-tx-category-notice span { font-size:9px; font-weight:750; line-height:1.5; }
.prm-tx-category-list__number { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; background:#f0f5f1; color:var(--tx-green); font-size:9px; font-weight:900; }
.prm-tx-category-list strong { display:block; font-size:10px; line-height:1.3; }
.prm-tx-category-list small { display:block; margin-top:2px; color:var(--tx-muted); font-size:8px; font-weight:700; }
.prm-tx-category-list button[aria-selected="true"] .prm-tx-picker__check { opacity:1; }
.prm-tx-subdialog--confirm { z-index:4; }
.prm-tx-subdialog--confirm .prm-tx-subdialog__panel { width:min(440px,100%); overflow:hidden; border-color:#edc9c2; }
.prm-tx-subdialog--note .prm-tx-subdialog__panel { width:min(560px,100%); overflow:hidden; }
.prm-tx-note-dialog__body { padding:14px; background:#fbfdfb; }
.prm-tx-note-dialog__body textarea { box-sizing:border-box; width:100%; min-height:190px; padding:12px 13px; border:1px solid #b9d0c0; border-radius:12px; outline:0; background:#fff; color:var(--tx-ink); font:inherit; font-size:11px; font-weight:650; line-height:1.55; resize:vertical; transition:border-color 160ms ease,box-shadow 160ms ease; }
.prm-tx-note-dialog__body textarea:focus { border-color:var(--tx-green); box-shadow:0 0 0 3px var(--tx-focus); }
.prm-tx-note-dialog__readonly { min-height:150px; padding:15px 16px; border-radius:14px; background:linear-gradient(145deg,#f2f8f3,#fffaf0); color:var(--tx-ink); cursor:default; }
.prm-tx-note-dialog__readonly:focus-visible { outline:3px solid var(--tx-focus); outline-offset:2px; }
.prm-tx-note-dialog__readonly small { display:block; margin-bottom:8px; color:var(--tx-green); font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.prm-tx-note-dialog__readonly p { margin:0; font-size:12px; font-weight:650; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; }
.prm-tx-note-dialog__status { overflow:hidden; max-height:0; margin:0; color:#496354; font-size:9px; font-weight:800; opacity:0; transform:translateY(-3px); transition:max-height 200ms var(--tx-ease),margin 200ms var(--tx-ease),opacity 160ms ease,transform 200ms var(--tx-ease); }
.prm-tx-note-dialog__status.is-visible { max-height:28px; margin:7px 0 0; opacity:1; transform:none; }
.prm-tx-note-dialog__status[hidden] { display:none; }
.prm-tx-note-dialog__actions { display:flex; justify-content:flex-end; gap:7px; padding:10px 14px 14px; border-top:1px solid var(--tx-soft-line); background:#fff; }
.prm-tx-note-dialog__actions[hidden] { display:none; }
.prm-tx-note-dialog__actions button { min-height:38px; padding:0 12px; border:1px solid var(--tx-line); border-radius:9px; background:#fff; color:#405147; font:inherit; font-size:9px; font-weight:850; cursor:pointer; transition:background-color 150ms ease,border-color 150ms ease,opacity 150ms ease; }
.prm-tx-note-dialog__actions button:hover:not(:disabled) { border-color:#9fbdab; background:var(--tx-mint); }
.prm-tx-note-dialog__actions button:disabled { cursor:not-allowed; opacity:.42; }
.prm-tx-note-dialog__actions .is-danger { border-color:#e9c9c3; background:#fff8f6; color:var(--tx-danger); }
.prm-tx-confirm-hero {
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:start;
  gap:13px;
  padding:20px;
  background:#fff8f6;
}
.prm-tx-confirm-hero__icon { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:#f7e4e0; color:var(--tx-danger); }
.prm-tx-confirm-hero__icon svg { width:23px; }
.prm-tx-confirm-hero small { display:block; color:var(--tx-danger); font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.prm-tx-confirm-hero h2 { margin:3px 0 0; color:var(--tx-ink); font-size:19px; line-height:1.3; }
.prm-tx-confirm-hero p { margin:5px 0 0; color:#76534e; font-size:10px; font-weight:700; line-height:1.55; }
.prm-tx-confirm-actions { display:flex; justify-content:flex-end; gap:8px; padding:14px 20px; border-top:1px solid #edddd9; background:#fff; }

.prm-tx-modal button:focus-visible,
.prm-tx-modal input:focus-visible,
.prm-tx-modal textarea:focus-visible,
.prm-tx-floating-picker button:focus-visible { outline:3px solid var(--tx-focus); outline-offset:2px; }

@media (max-width:680px) {
  .prm-tx-modal { align-items:end; padding:0; }
  .prm-tx-modal__panel { width:100%; max-height:94dvh; border-width:1px 0 0; border-radius:18px 18px 0 0; }
  .prm-tx-modal__header { grid-template-columns:34px minmax(0,1fr) 40px; gap:9px; padding:9px 12px; }
  .prm-tx-modal__mark { width:34px; height:34px; }
  .prm-tx-modal__close { width:40px; height:40px; }
  .prm-tx-modal__header h2 { font-size:16px; }
  .prm-tx-modal__header p { display:block; }
  .prm-tx-details .prm-tx-section-heading h3{display:none}.prm-tx-details .prm-tx-section-heading{min-height:0;margin-bottom:6px}
  .prm-tx-form__scroll { padding:14px; }
  .prm-tx-context { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:11px; }
  .prm-tx-context__field--kind { grid-column:1/-1; }
  .prm-tx-detail-card__body { grid-template-columns:1fr; gap:9px; padding:10px; }
  .prm-tx-input-field--wide { grid-column:auto; }
  .prm-tx-detail-card__header { align-items:flex-start; padding:10px; }
  .prm-tx-detail-card__actions { align-items:center; flex-direction:row; }
  .prm-tx-detail-category__trigger { max-width:48vw; }
  .prm-tx-detail-card__delete { width:36px; height:36px; }
  .prm-tx-form__footer { padding:10px 14px calc(10px + env(safe-area-inset-bottom)); }
  .prm-tx-button { flex:1; padding-inline:10px; }
  .prm-tx-subdialog { align-items:center; padding:14px; }
  .prm-tx-subdialog__panel { width:min(560px,100%); max-height:calc(100dvh - 28px); border-radius:18px; }
  .prm-tx-subdialog--category { align-items:center; padding:14px; }
  .prm-tx-subdialog--category .prm-tx-subdialog__panel { width:min(520px,100%); border-radius:18px; max-height:calc(100dvh - 28px); }
  .prm-tx-subdialog__header { padding:16px 14px; }
  .prm-tx-floating-picker { left:50% !important; right:auto !important; bottom:auto !important; top:50% !important; width:min(420px,calc(100vw - 28px)) !important; max-height:calc(100dvh - 28px); transform-origin:center; }
  .prm-tx-date-picker.prm-tx-floating-picker { width:min(340px,calc(100vw - 28px)) !important; }
  .prm-tx-category-list { grid-template-columns:1fr; padding:12px; }
  .prm-tx-period-types { grid-template-columns:1fr; }
  .prm-tx-note-composer { grid-template-columns:minmax(0,1fr) auto; min-height:46px; }
  .prm-tx-input-field input[data-tx-detail-note] { min-height:46px; height:46px; padding:0 10px; }
  .prm-tx-note-tools { width:34px; }
  .prm-tx-note-composer.has-content .prm-tx-note-tools { width:72px; }
  .prm-tx-note-tools button { width:34px; min-width:34px; height:34px; min-height:34px; padding:0; }
  .prm-tx-note-tools__conditional.is-visible { width:34px; min-width:34px; }
  .prm-tx-subdialog--note { align-items:center; padding:14px; }
  .prm-tx-subdialog--note .prm-tx-subdialog__panel { width:min(560px,100%); border-radius:18px; max-height:calc(100dvh - 28px); }
  .prm-tx-review__context { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  .prm-tx-review__context article { grid-template-columns:24px minmax(0,1fr);gap:5px;min-height:58px;padding:7px 6px; }
  .prm-tx-review__context article>span:first-child{width:24px;height:24px;border-radius:7px}.prm-tx-review__context article>span:first-child svg{width:13px;height:13px}
  .prm-tx-review__context small { font-size:7px; line-height:1.25; }
  .prm-tx-review__context strong { display:-webkit-box; margin-top:2px; overflow:hidden; font-size:9px; line-height:1.3; white-space:normal; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .prm-tx-review-detail dl { grid-template-columns:1fr; gap:7px; }
  .prm-tx-review__files { grid-template-columns:1fr; }
}
@media (max-width:380px) {
  .prm-tx-context { gap:8px; padding:9px; }
  .prm-tx-context__button { min-height:53px; padding-inline:8px; }
  .prm-tx-context__icon { width:29px; height:29px; }
  .prm-tx-context__button strong { font-size:10px; }
  .prm-tx-note-tools { gap:3px; }
  .prm-tx-note-tools button { padding-inline:6px; }
}
@media (prefers-reduced-motion:reduce) {
  .prm-tx-modal,
  .prm-tx-modal__panel,
  .prm-tx-subdialog__panel,
  .prm-tx-floating-picker,
  .prm-tx-detail-card,
  .prm-tx-file-row,
  .prm-tx-review,
  .prm-tx-review-detail,
  .prm-tx-review__files article,
  .prm-tx-period-view,
  .prm-tx-period-range-preview strong,
  .prm-tx-period-confirm strong,
  .prm-tx-date-picker__grid,
  .prm-tx-kind-list article { animation:none !important; transition:none !important; }
  .prm-tx-modal__header > *,
  .prm-tx-context,
  .prm-tx-details,
  .prm-tx-evidence,
  .prm-tx-form__footer { opacity:1; transform:none; }
  .prm-tx-modal.is-open .prm-tx-modal__panel,
  .prm-tx-subdialog.is-open .prm-tx-subdialog__panel { opacity:1; transform:none; }
  .prm-tx-floating-picker { opacity:1; transform:translate3d(-50%,-50%,0) !important; }
}
.prm-tx-note-tools [data-tx-note-paste]{display:grid!important;visibility:visible!important;opacity:1!important}
.prm-tx-note-tools{position:relative}
.prm-tx-note-tools .prm-tx-note-tools__conditional:not(.is-visible){position:absolute!important;inset-inline-end:0;width:0!important;min-width:0!important;flex:0 0 0!important;padding:0!important;border-width:0!important;margin:0!important}
.prm-tx-note-tools .prm-tx-note-tools__conditional.is-visible{position:static}
@media(max-width:720px){
  .prm-tx-note-tools{position:relative;gap:0!important}
  .prm-tx-note-tools [data-tx-note-paste]{flex-basis:34px}
  .prm-tx-note-tools__conditional:not(.is-visible){position:absolute!important;inset-inline-end:0;width:0!important;min-width:0!important;flex:0 0 0!important;padding:0!important;border-width:0!important;margin:0!important}
  .prm-tx-note-tools__conditional.is-visible{position:static;margin-left:4px}
  .prm-tx-review__context{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .prm-tx-review__context article:nth-child(2){grid-column:auto}
}
