:root {
  --ink: #35283f;
  --muted: #7c6f85;
  --green: #7651a8;
  --sage: #f3e8fb;
  --blue: #eee7fb;
  --cream: #fff2f7;
  --paper: #fff;
  --line: #ebe3ef;
  --yellow: #f6edc9;
  --red: #f4dddd;
  --shadow: 0 12px 35px rgba(104, 70, 130, 0.10);
}

[hidden] { display: none !important; }

.split-page{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:16px}.split-page aside form label,.panel>form label{display:grid;gap:6px;margin:13px 0;font-size:13px;font-weight:600}.split-page input,.split-page select,.split-page textarea,.period-picker input{width:100%;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}.progress-item,.debt-card{padding:16px 0;border-bottom:1px solid var(--line)}.progress-head{display:flex;justify-content:space-between;gap:15px}.progress-head small{display:block;color:var(--muted);margin-top:4px}.progress-track{height:8px;background:#edf1ef;border-radius:20px;overflow:hidden;margin-top:12px}.progress-track span{display:block;height:100%;background:var(--green);border-radius:20px}.progress-track span.over{background:#c57c76}.bill-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}.bill-card h3{margin:7px 0}.bill-card>div:last-child{text-align:right}.bill-card form{margin-top:8px}.status-pill{display:inline-block;padding:4px 8px;border-radius:20px;background:var(--blue);font-size:10px;font-weight:700;text-transform:capitalize;color:#46677d}.status-pill.sudah_dibayar{background:var(--sage);color:#3c675a}.status-pill.terlambat{background:var(--red);color:#915650}.debt-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.debt-numbers span,.debt-numbers b{display:block}.debt-numbers span{font-size:12px;color:var(--muted)}.debt-numbers b{color:var(--ink);margin-top:3px}.goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.goal-card{border:1px solid var(--line);border-radius:17px;padding:18px}.goal-icon{width:38px;height:38px;border-radius:12px;background:var(--sage);display:grid;place-items:center;color:var(--green)}.goal-card h3{margin:12px 0 7px}.goal-card>strong,.goal-card>small{display:block}.goal-card small,.goal-card p{color:var(--muted)}.period-picker{display:flex;gap:10px;align-items:end;margin-bottom:15px}.period-picker label{display:grid;gap:5px;font-size:12px}.report-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.report-metrics article{padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px}.report-metrics span,.report-metrics b{display:block}.report-metrics span{color:var(--muted);font-size:13px}.report-metrics b{font-size:23px;margin-top:7px}.bar-row{margin:17px 0}.bar-row>div:first-child,.simple-row{display:flex;justify-content:space-between;gap:15px}.bar{height:8px;background:#edf1ef;border-radius:10px;margin-top:7px}.bar i{display:block;height:100%;background:#789b90;border-radius:10px}.simple-row{padding:11px 0;border-bottom:1px solid var(--line)}.simple-row.total{font-size:18px;border-top:2px solid var(--line);border-bottom:0;margin-top:8px}.health-hero{display:flex;align-items:center;gap:24px;padding:28px;background:linear-gradient(120deg,var(--sage),#eff4f1);border-radius:24px;margin-bottom:16px}.health-hero h2{font-size:30px;margin:5px 0}.health-hero p{color:var(--muted);max-width:650px}.score-ring{width:120px;height:120px;flex:0 0 120px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--green) calc(var(--score)*1%),#fff 0);position:relative}.score-ring:before{content:"";position:absolute;inset:10px;background:var(--sage);border-radius:50%}.score-ring b,.score-ring small{z-index:1}.score-ring b{font-size:30px}.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.health-card>span{color:var(--muted)}.health-card>strong{font-size:25px;display:block;margin-top:8px}.health-card p{font-size:12px;color:var(--muted)}.safe-breakdown{max-width:760px}.timeline-item{display:grid;grid-template-columns:55px 18px 1fr;gap:12px;min-height:105px}.timeline-item time{text-align:center}.timeline-item time b,.timeline-item time span{display:block}.timeline-item time b{font-size:22px}.timeline-item time span{font-size:11px;color:var(--muted);text-transform:uppercase}.timeline-item>i{width:10px;height:10px;border-radius:50%;background:var(--green);margin-top:8px;position:relative}.timeline-item>i:after{content:"";position:absolute;width:2px;height:92px;background:var(--line);left:4px;top:10px}.timeline-item:last-child>i:after{display:none}.timeline-item h3{margin:7px 0 2px}.timeline-item p{margin:0;color:var(--muted)}
@media(max-width:800px){.split-page{grid-template-columns:1fr}.report-metrics,.health-grid{grid-template-columns:1fr}.goal-grid{grid-template-columns:1fr}.health-hero{align-items:flex-start;flex-direction:column}.debt-numbers{grid-template-columns:1fr}.bill-card{align-items:flex-start}.bill-card>div:last-child{min-width:115px}}
.settings-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:16px}.settings-grid aside{display:grid;gap:16px}.keyword-form{display:grid;grid-template-columns:1fr 1.3fr auto;gap:8px;margin:18px 0}.keyword-form input,.keyword-form select{padding:11px;border:1px solid var(--line);border-radius:11px}.keyword-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.keyword-list>div{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f7f9f8;border-radius:11px}.keyword-list small{display:block;color:var(--muted)}.keyword-list em{font-size:10px;color:var(--muted)}.keyword-list button{border:0;background:var(--red);color:#8b4c4c;border-radius:50%;width:25px;height:25px;cursor:pointer}.member-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.member-row small,.member-row strong{display:block}.member-row small{color:var(--muted);margin-top:3px}@media(max-width:800px){.settings-grid{grid-template-columns:1fr}.keyword-form{grid-template-columns:1fr}.keyword-list{grid-template-columns:1fr}}
* {
  box-sizing: border-box;
}
html {
  font-family: "DM Sans", system-ui, sans-serif;
  color: var(--ink);
  background: #f5f7f6;
}
body {
  margin: 0;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
textarea,
select {
  font: inherit;
}
/* Standar field untuk seluruh form aplikasi. */
form label { color: var(--ink); }
form label > input:not([type="checkbox"]):not([type="radio"]),
form label > select,
form label > textarea,
form label > .password-field > input,
.filters input,
.filters select {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid #ded2e4;
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  outline: none;
  box-shadow: 0 1px 2px rgba(66, 41, 80, 0.03);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
form label > textarea { min-height: 96px; resize: vertical; }
form label > input[type="color"] { padding: 6px; cursor: pointer; }
form label > input[type="date"],
form label > input[type="month"] { color-scheme: light; }
form label > input:focus,
form label > select:focus,
form label > textarea:focus,
form label > .password-field > input:focus,
.filters input:focus,
.filters select:focus {
  border-color: #9d79ba;
  box-shadow: 0 0 0 4px rgba(118, 81, 168, 0.12);
}
form label > input::placeholder,
form label > textarea::placeholder { color: #aa9daf; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 245px;
  padding: 26px 18px;
  background: #fff;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  z-index: 5;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 8px 28px;
}
.brand span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 13px;
  background: var(--green);
  color: #fff;
  font-weight: 700;
}
.brand.large {
  margin: 0 0 32px;
}
.brand.large span {
  width: 45px;
  height: 45px;
}
.sidebar nav {
  display: grid;
  gap: 4px;
}
.sidebar nav a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 13px;
  border-radius: 12px;
  color: #61706b;
  font-size: 14px;
}
.sidebar nav a i {
  width: 22px;
  text-align: center;
  font-style: normal;
  font-size: 17px;
}
.sidebar nav a.active,
.sidebar nav a:hover {
  background: var(--sage);
  color: #294a41;
  font-weight: 600;
}
.sidebar-foot {
  margin-top: auto;
  padding: 18px 12px 0;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  color: var(--muted);
}
.sidebar-foot a {
  color: #9b5555;
}
.shell {
  margin-left: 245px;
  min-height: 100vh;
}
.topbar {
  height: 88px;
  padding: 18px 4vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(245, 247, 246, 0.92);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 4;
  backdrop-filter: blur(12px);
}
.topbar small {
  color: var(--muted);
}
.topbar h1 {
  font-size: 21px;
  margin: 2px 0;
}
.avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--sage);
  color: var(--green);
  font-weight: 700;
}
.content {
  padding: 28px 4vw 90px;
  max-width: 1500px;
  margin: auto;
}
.welcome {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 20px;
}
.welcome p,
.welcome h2 {
  margin: 0;
}
.welcome p,
.welcome span {
  color: var(--muted);
}
.welcome h2 {
  font-size: 28px;
}
.hero-card {
  border-radius: 26px;
  padding: 28px 32px;
  background: linear-gradient(125deg, #3e675d, #668c7e);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.hero-card h2 {
  font-size: 38px;
  margin: 9px 0;
}
.hero-card p {
  margin: 0;
  color: #e2eee9;
}
.eyebrow {
  letter-spacing: 0.11em;
  font-size: 11px;
  font-weight: 700;
  color: #688078;
}
.hero-card .eyebrow {
  color: #d6e7e1;
}
.hero-orb {
  width: 170px;
  height: 100px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.09);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero-orb span {
  font-size: 12px;
  opacity: 0.8;
}
.metrics-scroll {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin: 16px 0;
}
.metric,
.panel,
.account-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 6px 24px rgba(47, 72, 65, 0.04);
}
.metric {
  padding: 18px;
}
.metric span,
.metric small {
  display: block;
  color: var(--muted);
}
.metric strong {
  display: block;
  font-size: 20px;
  margin: 7px 0;
}
.quick-banner {
  padding: 22px 25px;
  border-radius: 20px;
  background: var(--cream);
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 16px 0;
}
.quick-banner h3 {
  margin: 4px 0;
}
.quick-banner p {
  margin: 0;
  color: var(--muted);
}
.btn {
  border: 0;
  border-radius: 12px;
  padding: 11px 16px;
  font-weight: 600;
  cursor: pointer;
  display: inline-block;
}
.btn.primary {
  background: var(--green);
  color: #fff;
}
.btn.light {
  background: #fff;
  color: var(--green);
  box-shadow: 0 4px 15px rgba(60, 86, 77, 0.08);
}
.btn.soft {
  background: var(--sage);
  color: #31594e;
}
.btn.wide {
  width: 100%;
}
.dashboard-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 16px;
}
.dashboard-grid aside {
  display: grid;
  gap: 16px;
}
.panel {
  padding: 22px;
}
.panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.panel-head h2,
.panel-head h3 {
  margin: 4px 0;
}
.panel-head a {
  font-size: 13px;
  color: var(--green);
  font-weight: 600;
}
.transaction-list {
  display: grid;
}
.transaction-row {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.transaction-row:last-child {
  border: 0;
}
.transaction-row small,
.transaction-row strong {
  display: block;
}
.transaction-row small {
  margin-top: 3px;
  color: var(--muted);
}
.transaction-row > b {
  font-size: 14px;
}
.pemasukan {
  color: #4d8068;
}
.pengeluaran {
  color: #a96767;
}
.transfer {
  color: #527b9a;
}
.mutasi, .investasi { color: #74529a; }
.tx-icon {
  width: 39px;
  height: 39px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--sage);
}
.tx-icon.pengeluaran {
  background: var(--red);
}
.tx-icon.transfer {
  background: var(--blue);
}
.tx-icon.mutasi, .tx-icon.investasi { background: #f1e8f8; color: #74529a; }
.forecast {
  padding: 5px 0;
}
.forecast strong {
  font-size: 26px;
}
.forecast p,
.muted {
  color: var(--muted);
}
.bill-row {
  display: flex;
  justify-content: space-between;
  padding: 11px 0;
  border-top: 1px solid var(--line);
}
.bill-row small {
  display: block;
  color: var(--muted);
  margin-top: 3px;
}
.empty {
  text-align: center;
  color: var(--muted);
  padding: 40px 15px;
}
.empty.compact {
  padding: 18px;
}
.alert {
  padding: 12px 16px;
  border-radius: 12px;
  margin: 16px 4vw 0;
}
.alert.success {
  background: var(--sage);
  color: #31594e;
}
.alert.danger {
  background: var(--red);
  color: #8b4c4c;
}
.bottom-nav {
  display: none;
}
.quick-dialog {
  border: 0;
  padding: 0;
  border-radius: 24px;
  width: min(590px, calc(100% - 24px));
  box-shadow: 0 25px 80px rgba(25, 43, 37, 0.25);
}
.quick-dialog::backdrop {
  background: rgba(31, 46, 41, 0.52);
  backdrop-filter: blur(4px);
}
.dialog-card {
  padding: 27px;
  margin: 0;
  position: relative;
}
.dialog-card h2 {
  margin: 6px 0;
}
.dialog-close {
  position: absolute;
  right: 16px;
  top: 15px;
  border: 0;
  background: #eef2f0;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
}
.dialog-card label,
.auth-card label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  margin: 14px 0;
}
.dialog-card input,
.dialog-card textarea,
.dialog-card select,
.auth-card input,
.filters input,
.filters select {
  width: 100%;
  border: 1px solid #d8e0dc;
  border-radius: 12px;
  padding: 12px;
  background: #fff;
  color: var(--ink);
}
.parse-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 12px;
}
.notice {
  background: var(--yellow);
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 13px;
}
.form-message {
  font-size: 13px;
}
.auth-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 25px;
  background:
    radial-gradient(circle at 10% 10%, var(--sage), transparent 30%), #f6f7f4;
}
.auth-card {
  width: min(430px, 100%);
  background: #fff;
  padding: 38px;
  border: 1px solid var(--line);
  border-radius: 26px;
  box-shadow: var(--shadow);
}
.auth-card h1 {
  margin-bottom: 7px;
}
.text-link {
  display: block;
  text-align: center;
  color: var(--green);
  margin-top: 18px;
}
.demo-note {
  display: block;
  margin-top: 24px;
  padding: 10px;
  background: var(--cream);
  border-radius: 10px;
  color: var(--muted);
  text-align: center;
}
.filters {
  display: grid;
  grid-template-columns: 1fr 180px auto;
  gap: 10px;
  margin-bottom: 12px;
}
.roomy .transaction-row {
  padding: 16px 0;
}
.page-action {
  margin-bottom: 14px;
}
.account-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
.account-card {
  padding: 22px;
  border-top: 4px solid var(--account);
}
.account-icon {
  font-size: 24px;
  color: var(--account);
}
.account-card span,
.account-card small {
  display: block;
  color: var(--muted);
}
.account-card h3 {
  margin: 14px 0 5px;
}
.account-card strong {
  font-size: 24px;
  display: block;
  margin-bottom: 16px;
}
.module-intro {
  text-align: center;
  padding: 70px 25px;
}
.module-intro .illustration {
  margin: auto auto 18px;
  width: 90px;
  height: 90px;
  display: grid;
  place-items: center;
  border-radius: 28px;
  background: var(--sage);
  font-size: 40px;
  color: var(--green);
}
.module-intro p {
  max-width: 600px;
  margin: 10px auto 25px;
  color: var(--muted);
}
@media (max-width: 950px) {
  .sidebar {
    display: none;
  }
  .shell {
    margin: 0;
  }
  .topbar {
    height: 72px;
  }
  .content {
    padding: 20px 16px 100px;
  }
  .bottom-nav {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 8;
    background: #fff;
    border-top: 1px solid var(--line);
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
  }
  .bottom-nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    font-size: 18px;
    color: #65736f;
  }
  .bottom-nav a span {
    font-size: 10px;
  }
  .bottom-nav button {
    width: 48px;
    height: 48px;
    margin: -25px auto 0;
    border: 5px solid #f5f7f6;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    font-size: 25px;
  }
  .metrics-scroll {
    display: flex;
    overflow: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 3px;
  }
  .metric {
    min-width: 230px;
    scroll-snap-align: start;
  }
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
  .account-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 570px) {
  .topbar {
    padding: 12px 16px;
  }
  .welcome {
    align-items: start;
  }
  .welcome span {
    font-size: 12px;
  }
  .welcome h2 {
    font-size: 23px;
  }
  .hero-card {
    padding: 24px 20px;
  }
  .hero-card h2 {
    font-size: 31px;
  }
  .hero-orb {
    display: none;
  }
  .quick-banner {
    align-items: flex-start;
    gap: 16px;
    flex-direction: column;
  }
  .quick-banner .btn {
    width: 100%;
  }
  .panel {
    padding: 18px;
  }
  .transaction-row {
    grid-template-columns: 39px 1fr auto;
  }
  .transaction-row > b {
    font-size: 12px;
  }
  .parse-grid,
  .filters {
    grid-template-columns: 1fr;
  }
  .account-grid {
    grid-template-columns: 1fr;
  }
  .auth-card {
    padding: 27px;
  }
  .dialog-card {
    padding: 22px 18px;
  }
}
.logout-link {
  border: 0;
  background: none;
  padding: 0;
  color: #9b5555;
  cursor: pointer;
}
.password-field { position: relative; display: block; }
.password-field input { width: 100%; padding-right: 48px; }
.password-toggle { position: absolute; right: 7px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border: 0; border-radius: 9px; background: transparent; cursor: pointer; color: var(--muted); }

/* Tema pink–ungu. Warna status tetap semantik dan tidak mengikuti primary. */
.hero-card { background: linear-gradient(125deg, #d94f91, #7651a8); }
.hero-card p { color: #fceef7; }
.eyebrow { color: #8b649f; }
.sidebar nav a.active, .sidebar nav a:hover { color: #65418f; }
.btn.soft { color: #65418f; }
.bar i { background: linear-gradient(90deg, #d94f91, #7651a8); }
.health-hero { background: linear-gradient(120deg, #fce8f2, #eee7fb); }
.auth-page { background: radial-gradient(circle at 10% 10%, #f9dce9, transparent 32%), radial-gradient(circle at 90% 90%, #e7dcf7, transparent 34%), #fbf8fc; }

/* Alert/status colors: success, warning, danger, and transaction semantics. */
.alert.success, .status-pill.sudah_dibayar { background: #dce9e2; color: #31594e; }
.notice { background: #f6edc9; color: #6f5b24; }
.alert.danger, .status-pill.terlambat { background: #f4dddd; color: #8b4c4c; }
.pemasukan { color: #4d8068; }
.pengeluaran { color: #a96767; }
.bayar_hutang { color: #a96767; }
.transfer, .mutasi, .investasi { color: #74529a; }
.transaction-row-actions { grid-template-columns: 42px minmax(0, 1fr) auto auto; }
.transaction-actions { display: flex; align-items: center; gap: 7px; margin-left: 8px; }
.transaction-actions .btn { font-size: 12px; padding: 8px 10px; }
.danger-outline { background: #fff4f3; color: #96514e; border: 1px solid #efcecb; }
.transaction-edit-panel { max-width: 760px; margin: 0 auto; }
.transaction-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; margin: 22px 0; }
.transaction-form-grid label { display: grid; gap: 7px; font-size: 13px; font-weight: 600; }
.transaction-form-grid input, .transaction-form-grid select { width: 100%; border: 1px solid var(--line); border-radius: 11px; padding: 11px 12px; background: #fff; color: var(--ink); }
.transaction-form-grid .span-two { grid-column: 1 / -1; }
.record-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.record-actions .btn { padding: 8px 11px; font-size: 12px; }
.record-actions form { margin: 0 !important; }
.keyword-list .record-actions button { width: auto; height: auto; border-radius: 12px; padding: 8px 11px; }
.centered { display: block; text-align: center; margin-top: 8px; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; }
.cashflow-panel { margin: 18px 0; }
.report-category-panel { margin-top: 18px; }
.table-scroll { overflow-x: auto; }
.cashflow-table { width: 100%; border-collapse: collapse; min-width: 680px; }
.cashflow-table th, .cashflow-table td { padding: 13px 12px; text-align: right; border-bottom: 1px solid var(--line); white-space: nowrap; }
.cashflow-table th:first-child, .cashflow-table td:first-child { text-align: left; }
.cashflow-table th { color: var(--muted); font-size: 12px; text-transform: uppercase; }
.member-main { flex: 1; min-width: 0; }
.member-row form { margin: 0; }
.member-row .btn { padding: 7px 9px; font-size: 11px; }
.keyword-form { gap: 10px; align-items: end; }
.keyword-form label { display: grid; gap: 7px; margin: 0; font-size: 13px; font-weight: 600; }
.daily-history-panel { margin-top: 18px; }
.daily-history-head { align-items: flex-end; gap: 20px; }
.daily-history-head .muted { margin: 5px 0 0; }
.daily-date-picker { display: flex; align-items: flex-end; gap: 9px; margin: 0; }
.daily-date-picker label { display: grid; gap: 5px; font-size: 12px; color: var(--muted); }
.daily-date-picker input { min-width: 155px; }
.daily-transaction-row { grid-template-columns: 42px minmax(0, 1fr) auto; }
.hero-wallet { min-height: 190px; display: flex; align-items: center; }
.dashboard-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dashboard-debt { padding: 15px 0; border-bottom: 1px solid var(--line); }
.dashboard-debt:last-child { border-bottom: 0; padding-bottom: 0; }
.dashboard-debt-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.dashboard-debt-head div { display: grid; gap: 3px; }
.dashboard-debt-head small, .dashboard-debt-meta { color: var(--muted); }
.dashboard-debt-head > b { white-space: nowrap; }
.dashboard-debt-meta { display: grid; gap: 4px; margin: 10px 0; font-size: 12px; }
.debt-payment-status { display: flex; justify-content: space-between; gap: 10px; padding: 8px 10px; border-radius: 9px; font-size: 12px; }
.debt-payment-status.paid { background: #dce9e2; color: #31594e; }
.debt-payment-status.unpaid { background: #f6edc9; color: #6f5b24; }
@media (max-width: 700px) { .daily-history-head { align-items: stretch; flex-direction: column; } .daily-date-picker { align-items: stretch; } .daily-date-picker label { flex: 1; } }
@media (max-width: 570px) { .dashboard-summary { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .transaction-row-actions { grid-template-columns: 39px minmax(0, 1fr) auto; } .transaction-actions { grid-column: 2 / -1; margin: 0; } .transaction-form-grid { grid-template-columns: 1fr; } .transaction-form-grid .span-two { grid-column: auto; } }

/* Landing page publik */
.landing-page{background:#fff;color:#35283f;overflow-x:hidden}.landing-page a{transition:color .2s ease,transform .2s ease,box-shadow .2s ease}.landing-header{height:84px;max-width:1240px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:10}.landing-brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:17px;white-space:nowrap}.landing-brand img{border-radius:12px;box-shadow:0 7px 20px rgba(118,81,168,.18)}.landing-header nav{display:flex;gap:34px;color:#706378;font-size:14px}.landing-header nav a:hover{color:#7651a8}.landing-login{padding:11px 17px;border:1px solid #e6dce9;border-radius:12px;font-weight:600;font-size:14px}.landing-login:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(83,52,98,.1)}.landing-login span{color:#d94f91;margin-left:5px}.landing-hero{min-height:690px;max-width:1240px;margin:auto;padding:82px 28px 100px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:72px;position:relative}.landing-hero:before{content:"";position:absolute;width:500px;height:500px;left:-420px;top:30px;border-radius:50%;background:#fbedf4;filter:blur(4px);z-index:-1}.landing-kicker{display:inline-flex;align-items:center;gap:8px;color:#8b649f;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.landing-kicker i{width:7px;height:7px;background:#d94f91;border-radius:50%;box-shadow:0 0 0 5px #fae8f1}.hero-copy h1{font-size:clamp(46px,5.4vw,74px);line-height:1.04;letter-spacing:-.055em;margin:22px 0;color:#33253c;max-width:650px}.hero-copy h1 em{font-style:normal;background:linear-gradient(100deg,#d94f91,#7651a8);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy>p{font-size:18px;line-height:1.75;color:#766b7c;max-width:580px;margin:0}.landing-actions{display:flex;gap:12px;margin:30px 0 25px}.landing-btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:14px 20px;border-radius:13px;font-weight:700;font-size:14px}.landing-btn.primary{background:linear-gradient(115deg,#d94f91,#7651a8);color:#fff;box-shadow:0 12px 28px rgba(118,81,168,.24)}.landing-btn.primary:hover{transform:translateY(-3px);box-shadow:0 17px 34px rgba(118,81,168,.3)}.landing-btn.secondary{border:1px solid #e4dae7;background:#fff}.landing-btn.secondary:hover{border-color:#bd9fc9}.landing-trust{display:flex;flex-wrap:wrap;gap:17px;font-size:12px;color:#827587}.landing-trust span::first-letter{color:#4d8068}.landing-preview{min-height:500px;position:relative;display:grid;place-items:center}.preview-glow{position:absolute;border-radius:50%;filter:blur(2px)}.preview-glow.one{inset:5% 0 3% 6%;background:linear-gradient(145deg,#f8dce9,#e4daf5);transform:rotate(-5deg);border-radius:45% 55% 48% 52%}.preview-glow.two{width:150px;height:150px;right:-40px;top:-20px;background:#fbf0cc;opacity:.7}.preview-window{width:min(540px,100%);background:#fff;border:1px solid rgba(229,216,234,.9);border-radius:24px;padding:18px;box-shadow:0 32px 80px rgba(76,47,90,.18);position:relative;transform:rotate(1.2deg)}.preview-top,.preview-greeting,.preview-logo{display:flex;align-items:center}.preview-top,.preview-greeting{justify-content:space-between}.preview-logo{gap:8px;font-size:12px}.preview-logo img{border-radius:8px}.preview-top>span{color:#b7aabb;letter-spacing:3px}.preview-greeting{padding:20px 3px 13px}.preview-greeting small,.preview-greeting strong{display:block}.preview-greeting small{color:#998d9e;font-size:10px;margin-bottom:3px}.preview-greeting strong{font-size:16px}.preview-greeting>span{font-size:9px;background:#f6eef9;color:#7651a8;padding:6px 9px;border-radius:15px}.preview-balance{height:144px;border-radius:18px;padding:25px;color:#fff;background:linear-gradient(125deg,#d94f91,#7651a8);position:relative;overflow:hidden}.preview-balance small,.preview-balance strong,.preview-balance span{display:block;position:relative;z-index:1}.preview-balance small{font-size:8px;letter-spacing:.12em;opacity:.85}.preview-balance strong{font-size:28px;margin:8px 0}.preview-balance span{font-size:9px;opacity:.8}.preview-balance i{position:absolute;width:170px;height:170px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-35px;top:-55px;box-shadow:0 0 0 22px rgba(255,255,255,.05)}.preview-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.preview-metrics article{border:1px solid #eee5f0;border-radius:13px;padding:12px}.preview-metrics small,.preview-metrics b,.preview-metrics span{display:block}.preview-metrics small,.preview-metrics span{color:#958999;font-size:8px}.preview-metrics b{font-size:13px;margin:5px 0}.preview-metrics .up,.preview-list .up{color:#4d8068}.preview-list>div{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:9px 2px;border-bottom:1px solid #f0e9f2}.preview-list>div:last-child{border:0}.preview-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#f7e8ef;color:#b2497a}.preview-icon.income{background:#e6f0eb;color:#4d8068}.preview-list p{margin:0}.preview-list b,.preview-list small{display:block}.preview-list b,.preview-list>div>strong{font-size:10px}.preview-list small{font-size:8px;color:#9b8fa0;margin-top:2px}.floating-note{position:absolute;left:-25px;bottom:25px;padding:12px 16px;background:#fff;border:1px solid #ece3ee;border-radius:15px;box-shadow:0 18px 40px rgba(82,53,95,.15);display:flex;align-items:center;gap:10px}.floating-note>span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#dce9e2;color:#3b6b57}.floating-note p{margin:0}.floating-note b,.floating-note small{display:block;font-size:10px}.floating-note small{color:#9a8e9f;margin-top:2px}.feature-section{padding:105px max(28px,calc((100vw - 1184px)/2));background:#fbf8fc}.section-heading{text-align:center;max-width:720px;margin:0 auto 48px}.section-heading h2,.steps-copy h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.04em;line-height:1.15;margin:16px 0}.section-heading p,.steps-copy>p{color:#7d7182;line-height:1.7}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature-grid article{background:#fff;border:1px solid #eee5f0;border-radius:22px;padding:27px;min-height:285px;box-shadow:0 10px 35px rgba(78,50,90,.045);display:flex;flex-direction:column}.feature-grid article:hover{transform:translateY(-5px);box-shadow:0 17px 42px rgba(78,50,90,.09)}.feature-icon{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;font-size:18px}.feature-icon.pink{background:#f9e3ed;color:#c2447e}.feature-icon.purple{background:#eee7fb;color:#7651a8}.feature-icon.gold{background:#f8efce;color:#927823}.feature-icon.green{background:#dfeee7;color:#3f765f}.feature-grid h3{font-size:18px;margin:22px 0 9px}.feature-grid p{font-size:14px;color:#7c7181;line-height:1.65;margin:0}.feature-grid article>small{margin-top:auto;background:#fbf5f8;padding:10px;border-radius:9px;color:#796d7e}.feature-grid article>small b{float:right;color:#d94f91}.mini-wallets{display:flex;margin-top:auto}.mini-wallets i{width:42px;height:30px;border:3px solid #fff;border-radius:9px;background:#d94f91}.mini-wallets i:nth-child(2){background:#7651a8;margin-left:-8px}.mini-wallets i:nth-child(3){background:#e0ba55;margin-left:-8px}.mini-bars{height:36px;display:flex;gap:5px;align-items:end;margin-top:auto}.mini-bars i{width:10px;background:#e8d9ef;border-radius:4px 4px 1px 1px}.mini-bars i:nth-child(1){height:40%}.mini-bars i:nth-child(2){height:75%}.mini-bars i:nth-child(3){height:55%;background:#d9a4bd}.mini-bars i:nth-child(4){height:100%;background:#b991cd}.mini-bars i:nth-child(5){height:80%;background:#7651a8}.mini-progress{height:8px;background:#efe8f1;border-radius:10px;margin-top:auto;overflow:hidden}.mini-progress span{display:block;width:68%;height:100%;background:linear-gradient(90deg,#d94f91,#7651a8);border-radius:10px}.steps-section{max-width:1184px;margin:auto;padding:120px 28px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.steps-copy>a{display:inline-block;margin-top:17px;color:#7651a8;font-weight:700}.steps-section ol{list-style:none;padding:0;margin:0}.steps-section li{display:grid;grid-template-columns:58px 1fr;gap:22px;padding:25px 0;border-bottom:1px solid #eee5f0}.steps-section li>span{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#f5ebf7;color:#7651a8;font-weight:700}.steps-section li:nth-child(2)>span{background:#f9e5ee;color:#c1477f}.steps-section li:nth-child(3)>span{background:#e3efe9;color:#477861}.steps-section h3{margin:3px 0 7px}.steps-section li p{margin:0;color:#827687;line-height:1.6;font-size:14px}.landing-cta{max-width:1184px;margin:0 auto 80px;border-radius:30px;padding:52px 60px;background:linear-gradient(120deg,#d94f91,#7651a8);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;overflow:hidden}.landing-cta:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:16%;top:-145px;box-shadow:0 0 0 34px rgba(255,255,255,.045)}.landing-cta>div{position:relative;z-index:1}.landing-cta>div>span{font-size:10px;letter-spacing:.15em;opacity:.75}.landing-cta h2{max-width:680px;font-size:clamp(27px,3.2vw,40px);line-height:1.2;letter-spacing:-.035em;margin:11px 0}.landing-btn.light{background:#fff;color:#7651a8;white-space:nowrap;position:relative;z-index:1}.landing-btn.light:hover{transform:translateY(-3px)}.landing-footer{max-width:1184px;margin:auto;padding:25px 0 38px;border-top:1px solid #eee5f0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#817584}.landing-footer p{font-size:13px}.landing-footer small{text-align:right}.landing-footer .landing-brand{color:#35283f}
@media(max-width:1000px){.landing-hero{grid-template-columns:1fr;padding-top:55px;text-align:center;gap:40px}.hero-copy>p{margin-inline:auto}.landing-actions,.landing-trust{justify-content:center}.landing-preview{width:min(620px,100%);margin:auto}.feature-grid{grid-template-columns:1fr 1fr}.steps-section{gap:50px}.landing-cta{margin-inline:28px}.landing-footer{margin-inline:28px}.floating-note{left:0}}
@media(max-width:720px){.landing-header{height:72px;padding:0 18px}.landing-header nav{display:none}.landing-brand{font-size:15px}.landing-brand img{width:36px;height:36px}.landing-login{padding:9px 12px}.landing-hero{padding:50px 18px 78px}.hero-copy h1{font-size:45px}.hero-copy>p{font-size:16px}.landing-trust{font-size:11px;gap:10px}.landing-preview{min-height:430px}.preview-window{padding:13px}.preview-balance{height:128px;padding:21px}.preview-balance strong{font-size:23px}.floating-note{bottom:0}.feature-section{padding:80px 18px}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:245px}.steps-section{grid-template-columns:1fr;padding:85px 18px;gap:35px}.landing-cta{margin:0 18px 60px;padding:38px 26px;flex-direction:column;align-items:flex-start}.landing-footer{margin:0 18px;grid-template-columns:1fr;gap:8px}.landing-footer p{margin:4px 0}.landing-footer small{text-align:left}.landing-actions{flex-direction:column}.landing-btn{width:100%}}
@media(max-width:420px){.landing-brand span{display:none}.hero-copy h1{font-size:39px}.preview-list>div{grid-template-columns:32px 1fr}.preview-list>div>strong{grid-column:2}.floating-note{display:none}.landing-preview{min-height:390px}.preview-metrics b{font-size:11px}}

/* Dialog form tambah/edit yang konsisten di semua modul. */
.page-list-head{gap:16px}.page-list-head>p{margin:0}.page-list-head>.btn{flex:0 0 auto}.form-dialog{width:min(560px,calc(100% - 28px));max-height:min(88vh,820px);padding:0;border:0;border-radius:24px;background:transparent;overflow:visible;box-shadow:0 28px 90px rgba(43,25,51,.3)}.form-dialog::backdrop{background:rgba(40,28,46,.55);backdrop-filter:blur(5px)}.form-dialog-card{width:100%;max-height:min(88vh,820px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:24px;padding:26px}.form-dialog-wide{width:100%}.form-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px;position:sticky;top:-26px;z-index:2;background:#fff;padding:26px 0 12px}.form-dialog-head h3{margin:5px 0 0;font-size:22px}.form-dialog form label{display:grid;gap:7px;margin:13px 0;font-size:13px;font-weight:600}.form-dialog form>.btn{margin-top:10px}.form-dialog .dialog-close{position:static;flex:0 0 36px}.form-dialog[open]{animation:form-dialog-in .2s ease-out}.form-dialog::backdrop{animation:form-backdrop-in .2s ease-out}@keyframes form-dialog-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@keyframes form-backdrop-in{from{opacity:0}to{opacity:1}}
@media(max-width:570px){.page-list-head{align-items:stretch;flex-direction:column}.page-list-head>.btn{width:100%}.form-dialog{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:24px 24px 0 0}.form-dialog-card{max-height:92dvh;border-radius:24px 24px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom))}.form-dialog-head{top:-20px;padding:20px 0 11px}.form-dialog form>.btn{min-height:46px}}

/* Menu akun mobile */
.avatar-button{border:0;cursor:pointer}.mobile-menu,.mobile-menu-backdrop{display:none}
@media(max-width:950px){body.mobile-menu-open{overflow:hidden}.mobile-menu-backdrop{display:block;position:fixed;inset:0;z-index:20;background:rgba(42,29,48,.48);backdrop-filter:blur(3px)}.mobile-menu{display:flex;position:fixed;z-index:21;inset:0 0 0 auto;width:min(340px,88vw);padding:20px 18px calc(20px + env(safe-area-inset-bottom));background:#fff;box-shadow:-18px 0 55px rgba(54,33,63,.18);flex-direction:column;transform:translateX(105%);transition:transform .24s ease}.mobile-menu.open{transform:translateX(0)}.mobile-menu-head{display:grid;grid-template-columns:42px 1fr 36px;gap:11px;align-items:center;padding:4px 2px 18px;border-bottom:1px solid var(--line)}.mobile-menu-head strong,.mobile-menu-head small{display:block}.mobile-menu-head small{margin-top:2px;color:var(--muted);font-size:11px}.mobile-menu-head>button{width:36px;height:36px;border:0;border-radius:10px;background:#f6f1f7;color:var(--muted);font-size:22px;cursor:pointer}.mobile-menu nav{display:grid;gap:4px;padding:16px 0}.mobile-menu nav a{display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:12px;color:#665b6c;font-size:14px}.mobile-menu nav a i{width:23px;text-align:center;font-style:normal;font-size:17px}.mobile-menu nav a.active{background:var(--sage);color:#65418f;font-weight:700}.mobile-logout{margin-top:auto;border-top:1px solid var(--line);padding-top:15px}.mobile-logout button{width:100%;display:flex;align-items:center;gap:13px;padding:12px 13px;border:0;border-radius:12px;background:#fff4f3;color:#96514e;font-weight:600;cursor:pointer}}

/* Modal bergaya dialog standar: header tegas, body lapang, tetap ringkas. */
.form-dialog{border-radius:16px;box-shadow:0 22px 65px rgba(38,24,45,.28)}.form-dialog-card{border-radius:16px;padding:0}.form-dialog-head{top:0;padding:18px 20px 15px;margin:0;border-bottom:1px solid var(--line)}.form-dialog-head h3{font-size:19px}.form-dialog-card>form,.form-dialog-card>p{margin-left:20px;margin-right:20px}.form-dialog-card>form{padding:5px 0 20px}.form-dialog-card>.notice{margin-top:18px}.form-dialog .dialog-close{width:32px;height:32px;background:#f4eff5;font-size:19px}.form-dialog form>.btn.primary{margin-top:16px}.form-dialog form>.btn.soft{margin-top:8px}

/* Kepadatan tampilan aplikasi pada layar kecil. */
@media(max-width:570px){html{font-size:14px}.topbar{height:64px;padding:10px 13px}.topbar small{font-size:10px}.topbar h1{font-size:17px;margin-top:1px}.avatar{width:38px;height:38px}.content{padding:14px 12px 86px}.alert{margin:10px 12px 0;padding:10px 12px;font-size:12px}.welcome{margin-bottom:12px;align-items:center}.welcome p,.welcome span{font-size:11px}.welcome h2{font-size:20px}.hero-card{min-height:0!important;padding:18px;border-radius:18px}.hero-card h2{font-size:25px;margin:6px 0}.hero-card p{font-size:11px}.eyebrow{font-size:9px}.metrics-scroll{gap:8px;margin:9px 0}.dashboard-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.dashboard-summary .metric{min-width:0}.metric{padding:13px;border-radius:15px}.metric span,.metric small{font-size:10px}.metric strong{font-size:15px;margin:5px 0;line-height:1.25}.quick-banner{padding:15px;border-radius:16px;margin:9px 0;gap:10px}.quick-banner h3{font-size:16px}.quick-banner p{font-size:11px}.quick-banner .btn{padding:10px;font-size:12px}.dashboard-grid{gap:9px}.panel{padding:14px;border-radius:16px}.panel-head{margin-bottom:10px;gap:10px}.panel-head h2,.panel-head h3{font-size:17px}.panel-head a{font-size:11px}.transaction-row{grid-template-columns:34px minmax(0,1fr) auto;gap:8px;padding:9px 0}.tx-icon{width:32px;height:32px;border-radius:10px}.transaction-row strong{font-size:12px}.transaction-row small{font-size:9px;line-height:1.35}.transaction-row>b{font-size:10px;white-space:nowrap}.debt-overview .dashboard-debt{padding:11px 0}.dashboard-debt-head strong,.dashboard-debt-head>b{font-size:12px}.dashboard-debt-head small,.dashboard-debt-meta,.debt-payment-status{font-size:9px}.debt-payment-status{padding:7px 8px}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.account-card{padding:13px;border-radius:15px;border-top-width:3px}.account-icon{font-size:17px}.account-card span,.account-card small{font-size:9px}.account-card h3{font-size:14px;margin:8px 0 3px}.account-card strong{font-size:16px;margin-bottom:9px}.record-actions{gap:5px;margin-top:9px}.record-actions .btn{padding:7px 8px;font-size:10px}.page-list-head{gap:9px}.page-list-head>.btn{padding:10px;font-size:12px}.progress-item,.debt-card{padding:12px 0}.progress-head{gap:8px}.progress-head strong,.progress-head b{font-size:12px}.progress-head small{font-size:9px}.debt-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:10px}.debt-numbers span{font-size:9px}.debt-numbers b{font-size:10px}.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.goal-card{padding:12px;border-radius:14px}.goal-icon{width:30px;height:30px}.goal-card h3{font-size:13px;margin:8px 0 4px}.goal-card>strong{font-size:13px}.goal-card small,.goal-card p{font-size:9px}.bill-card{padding:12px 0;gap:8px}.bill-card h3{font-size:13px;margin:5px 0}.bill-card small,.bill-card b{font-size:10px}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.report-metrics article{padding:13px;border-radius:14px}.report-metrics span{font-size:10px}.report-metrics b{font-size:16px}.form-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 28px);margin:auto;border-radius:16px}.form-dialog-card{max-height:calc(100dvh - 28px);border-radius:16px;padding:0}.form-dialog-head{padding:15px 16px 12px}.form-dialog-card>form,.form-dialog-card>p{margin-left:16px;margin-right:16px}.form-dialog-card>form{padding-bottom:16px}.form-dialog form label{margin:10px 0;font-size:12px}.form-dialog form>.btn{min-height:42px}.bottom-nav{padding-top:6px}.bottom-nav a{font-size:16px}.bottom-nav button{width:44px;height:44px;font-size:22px}}
@media(max-width:360px){.dashboard-summary,.account-grid,.goal-grid,.report-metrics{grid-template-columns:1fr}}

.debt-history{margin-top:13px;border-top:1px dashed var(--line);padding-top:11px}.debt-history summary{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--green);font-size:12px;font-weight:700;cursor:pointer;list-style:none}.debt-history summary::-webkit-details-marker{display:none}.debt-history summary:after{content:"⌄";font-size:16px;transition:transform .2s ease}.debt-history[open] summary:after{transform:rotate(180deg)}.debt-history summary span{margin-left:auto;color:var(--muted);font-size:10px;font-weight:500}.debt-history-list{margin-top:9px;background:#faf7fb;border-radius:12px;padding:3px 12px}.debt-history-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.debt-history-list article:last-child{border-bottom:0}.debt-history-list strong,.debt-history-list small{display:block}.debt-history-list strong{font-size:12px}.debt-history-list small{margin-top:3px;color:var(--muted);font-size:10px}.debt-history-list b{font-size:12px;white-space:nowrap;color:#a96767}.debt-history-empty{margin:10px 0 0;font-size:11px}
@media(max-width:570px){.debt-history{margin-top:10px;padding-top:9px}.debt-history-list{padding:2px 9px}.debt-history-list article{padding:8px 0}.debt-history-list strong,.debt-history-list b{font-size:10px}.debt-history-list small{font-size:8px;line-height:1.35}}
