:root {
  --green-950: #052e16;
  --green-900: #14532d;
  --green-800: #166534;
  --green-700: #15803d;
  --green-100: #dcfce7;
  --green-50: #f0fdf4;
  --ink: #17211a;
  --muted: #68736b;
  --line: #e3e8e4;
  --surface: #ffffff;
  --canvas: #f5f7f5;
  --warning: #b45309;
  --warning-bg: #fff7ed;
  --danger: #b91c1c;
  --danger-bg: #fef2f2;
  --shadow: 0 12px 35px rgba(20, 45, 28, 0.08);
  --radius: 20px;
}

* { box-sizing: border-box; }

html { background: var(--canvas); }

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at top right, rgba(220,252,231,.55), transparent 34rem),
    var(--canvas);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

button, input, select { font: inherit; }

button { cursor: pointer; }

.hidden { display: none !important; }

.center-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.auth-card {
  width: min(100%, 430px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 26px;
  box-shadow: var(--shadow);
  padding: 30px;
}

.auth-card.wide { width: min(100%, 720px); }

.auth-card > .brand-mark {
  margin-bottom: 18px;
}

.auth-card h1 {
  margin: 0 0 8px;
  font-size: 1.9rem;
}

.auth-card p { color: var(--muted); }

.brand-row {
  display: flex;
  gap: 14px;
  align-items: center;
}

.brand-row.compact { gap: 10px; }

.brand-row h1,
.brand-row p { margin: 0; }

.brand-mark {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--green-800), var(--green-950));
  color: white;
  font-weight: 800;
  font-size: 1.45rem;
  box-shadow: 0 8px 20px rgba(20,83,45,.22);
}

.brand-mark.small {
  width: 40px;
  height: 40px;
  border-radius: 13px;
  font-size: 1.05rem;
}

.notice {
  margin: 22px 0;
  padding: 14px 16px;
  background: var(--green-50);
  border: 1px solid #bbf7d0;
  border-radius: 14px;
  color: var(--green-900);
}

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

.form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid .full { grid-column: 1 / -1; }

label {
  display: grid;
  gap: 7px;
  color: #344139;
  font-weight: 650;
  font-size: .91rem;
}

label small {
  color: var(--muted);
  font-weight: 400;
}

input,
select {
  width: 100%;
  min-height: 46px;
  padding: 0 13px;
  border: 1px solid #ced7d0;
  border-radius: 12px;
  background: white;
  color: var(--ink);
  outline: none;
}

input:focus,
select:focus {
  border-color: var(--green-700);
  box-shadow: 0 0 0 3px rgba(21,128,61,.12);
}

.checkbox {
  grid-template-columns: 20px 1fr;
  align-items: center;
}

.checkbox input {
  min-height: auto;
  width: 18px;
  height: 18px;
}

.primary,
.secondary,
.ghost,
.text-button,
.danger-text {
  border: 0;
  border-radius: 12px;
  min-height: 44px;
  padding: 0 16px;
  font-weight: 750;
}

.primary {
  background: var(--green-800);
  color: white;
  box-shadow: 0 8px 18px rgba(22,101,52,.18);
}

.primary:hover { background: var(--green-900); }

.secondary {
  color: var(--green-900);
  background: var(--green-50);
  border: 1px solid #bbf7d0;
}

.ghost {
  color: #39443d;
  background: transparent;
  border: 1px solid var(--line);
}

.text-button,
.danger-text {
  background: transparent;
  min-height: auto;
  padding: 5px;
}

.text-button { color: var(--green-800); }
.danger-text { color: var(--danger); }

.center { text-align: center; }
.muted { color: var(--muted); }

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

.topbar {
  height: 70px;
  position: sticky;
  top: 0;
  z-index: 20;
  padding: 0 max(20px, calc((100vw - 1180px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(227,232,228,.85);
}

.topbar .brand-row div:last-child {
  display: grid;
  gap: 1px;
}

.topbar span {
  color: var(--muted);
  font-size: .79rem;
}

.top-actions {
  display: flex;
  gap: 8px;
}

.page {
  max-width: 1180px;
  margin: 0 auto;
  padding: 30px 20px 110px;
}

.page-heading,
.card-heading,
.modal-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.page-heading {
  margin-bottom: 22px;
}

.page-heading h2,
.card-heading h3,
.modal-heading h3 {
  margin: 0;
}

.page-heading h2 { font-size: clamp(1.6rem, 3vw, 2.15rem); }

.card-heading p,
.page-heading p,
.modal-heading p {
  margin: 4px 0 0;
  color: var(--muted);
}

.eyebrow {
  margin: 0 0 5px !important;
  color: var(--green-700) !important;
  font-size: .72rem;
  letter-spacing: .12em;
  font-weight: 850;
}

.month-picker {
  width: 165px;
  background: white;
}

.health-banner {
  margin-bottom: 18px;
  padding: 14px 17px;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid;
}

.health-banner > div {
  display: flex;
  align-items: center;
  gap: 9px;
}

.health-banner.safe {
  color: var(--green-900);
  background: var(--green-50);
  border-color: #bbf7d0;
}

.health-banner.warning {
  color: var(--warning);
  background: var(--warning-bg);
  border-color: #fed7aa;
}

.health-banner.overspent {
  color: var(--danger);
  background: var(--danger-bg);
  border-color: #fecaca;
}

.health-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 5px rgba(255,255,255,.65);
}

.metrics-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.metric-card,
.content-card,
.assistant-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.metric-card {
  min-height: 150px;
  padding: 20px;
  display: grid;
  align-content: center;
  gap: 8px;
}

.metric-card span,
.metric-card small { color: var(--muted); }

.metric-card strong {
  font-size: clamp(1.45rem, 2.8vw, 2.05rem);
}

.metric-card.hero {
  color: white;
  border-color: transparent;
  background:
    linear-gradient(145deg, rgba(255,255,255,.08), transparent),
    linear-gradient(135deg, var(--green-900), var(--green-950));
}

.metric-card.hero span,
.metric-card.hero small { color: #dcfce7; }

.assistant-card {
  margin-top: 18px;
  padding: 22px;
  background:
    radial-gradient(circle at top right, rgba(187,247,208,.55), transparent 24rem),
    white;
}

.assistant-heading {
  display: flex;
  gap: 12px;
  align-items: center;
}

.assistant-heading h3,
.assistant-heading p { margin: 0; }

.assistant-heading p {
  margin-top: 4px;
  color: var(--muted);
}

.assistant-orb {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: white;
  font-weight: 850;
  background: linear-gradient(145deg, #16a34a, #14532d);
}

.assistant-form {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.quick-prompts {
  margin-top: 10px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.quick-prompts button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.8);
  color: #445148;
  font-size: .82rem;
}

.agent-result {
  margin-top: 15px;
  padding: 15px;
  border-radius: 14px;
  background: #f8faf8;
  border: 1px solid var(--line);
}

.agent-result h4 { margin: 0 0 6px; }
.agent-result p { margin: 0; line-height: 1.55; }

.agent-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.two-column {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.content-card {
  margin-top: 18px;
  padding: 21px;
}

.two-column .content-card { margin-top: 0; }

.list {
  display: grid;
  gap: 10px;
  margin-top: 15px;
}

.list-row,
.transaction-row,
.bill-card,
.account-chip {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fbfcfb;
}

.list-row {
  padding: 13px 14px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}

.list-row strong,
.list-row span {
  display: block;
}

.list-row span,
.list-row small { color: var(--muted); }

.status {
  display: inline-flex !important;
  align-items: center;
  min-height: 25px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: .73rem;
  font-weight: 800;
  text-transform: capitalize;
}

.status.pending_confirmation {
  color: var(--warning);
  background: var(--warning-bg);
}

.status.confirmed {
  color: var(--green-900);
  background: var(--green-100);
}

.status.paid {
  color: #1d4ed8;
  background: #eff6ff;
}

.status.skipped,
.status.void {
  color: #64748b;
  background: #f1f5f9;
}

.account-grid {
  margin-top: 15px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.account-chip {
  padding: 15px;
}

.account-chip span,
.account-chip small {
  color: var(--muted);
  display: block;
}

.account-chip strong {
  display: block;
  margin: 7px 0 3px;
  font-size: 1.25rem;
}

.transaction-list,
.bill-grid {
  display: grid;
  gap: 12px;
}

.transaction-row {
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
}

.transaction-row .meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: .82rem;
}

.transaction-row .amount {
  font-weight: 850;
  font-size: 1.1rem;
  text-align: right;
}

.transaction-row .amount.income { color: var(--green-700); }
.transaction-row .amount.expense { color: var(--danger); }

.bill-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bill-card {
  padding: 17px;
}

.bill-card-top,
.bill-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.bill-card h3 { margin: 12px 0 5px; }

.bill-card .amount {
  font-size: 1.55rem;
  font-weight: 850;
}

.bill-card p {
  margin: 5px 0 0;
  color: var(--muted);
}

.bill-card-actions {
  margin-top: 16px;
  justify-content: flex-start;
}

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

.details-grid div {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.details-grid dt {
  color: var(--muted);
  font-size: .78rem;
}

.details-grid dd {
  margin: 5px 0 0;
  font-weight: 800;
}

.bottom-nav {
  position: fixed;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  z-index: 30;
  width: min(calc(100% - 28px), 620px);
  min-height: 68px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 7px;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(222,229,223,.95);
  border-radius: 22px;
  box-shadow: 0 20px 50px rgba(12,35,20,.18);
}

.bottom-nav button {
  min-width: 0;
  border: 0;
  border-radius: 16px;
  background: transparent;
  color: #738078;
  display: grid;
  place-items: center;
  gap: 2px;
  font-size: .72rem;
  font-weight: 750;
}

.bottom-nav button span { font-size: 1.2rem; }

.bottom-nav button.active {
  color: var(--green-900);
  background: var(--green-50);
}

.floating-add {
  position: fixed;
  right: max(22px, calc((100vw - 1180px) / 2));
  bottom: 98px;
  z-index: 25;
  width: 56px;
  height: 56px;
  border: 0;
  border-radius: 50%;
  color: white;
  background: var(--green-800);
  font-size: 1.8rem;
  box-shadow: 0 12px 25px rgba(20,83,45,.28);
}

.modal {
  width: min(calc(100% - 28px), 680px);
  max-height: calc(100vh - 40px);
  border: 0;
  border-radius: 24px;
  padding: 0;
  box-shadow: 0 30px 90px rgba(7,35,18,.3);
}

.modal::backdrop {
  background: rgba(5,25,13,.55);
  backdrop-filter: blur(5px);
}

.modal form {
  padding: 23px;
  overflow: auto;
}

.icon-button {
  width: 38px;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: white;
  font-size: 1.35rem;
}

.segmented {
  margin: 20px 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 4px;
  border-radius: 14px;
  background: #edf1ee;
}

.segmented label {
  display: block;
  cursor: pointer;
}

.segmented input { display: none; }

.segmented span {
  min-height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #667169;
  font-size: .82rem;
}

.segmented input:checked + span {
  background: white;
  color: var(--green-900);
  box-shadow: 0 2px 8px rgba(20,45,28,.08);
}

.modal-actions {
  margin-top: 22px;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.modal-actions.split {
  justify-content: space-between;
  align-items: center;
}

.toast {
  position: fixed;
  top: 84px;
  left: 50%;
  transform: translate(-50%, -16px);
  z-index: 100;
  width: min(calc(100% - 32px), 520px);
  padding: 13px 16px;
  border-radius: 13px;
  color: white;
  background: #1f2937;
  box-shadow: 0 14px 35px rgba(0,0,0,.2);
  opacity: 0;
  pointer-events: none;
  transition: .22s ease;
}

.toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

.empty {
  padding: 24px;
  text-align: center;
  color: var(--muted);
  border: 1px dashed #cfd8d1;
  border-radius: 14px;
}

@media (max-width: 820px) {
  .metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .account-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .details-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .page { padding: 22px 14px 108px; }
  .topbar { padding: 0 14px; }
  .topbar .ghost { padding: 0 10px; }
  .page-heading { align-items: flex-end; }
  .month-picker { width: 145px; }
  .metrics-grid { gap: 10px; }
  .metric-card { min-height: 128px; padding: 15px; }
  .metric-card strong { font-size: 1.35rem; }
  .two-column,
  .bill-grid { grid-template-columns: 1fr; }
  .account-grid { grid-template-columns: 1fr; }
  .assistant-form { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .segmented { grid-template-columns: repeat(2, 1fr); gap: 4px; }
  .floating-add { right: 18px; }
  .health-banner { align-items: flex-start; flex-direction: column; }
  .details-grid { grid-template-columns: 1fr 1fr; }
  .modal-actions.split { align-items: stretch; flex-direction: column; }
  .modal-actions.split > div { display: flex; gap: 8px; justify-content: flex-end; }
}

@media (display-mode: standalone) {
  .topbar { padding-top: env(safe-area-inset-top); height: calc(70px + env(safe-area-inset-top)); }
  .bottom-nav { bottom: max(10px, env(safe-area-inset-bottom)); }
}


/* HISAB_BUDGET_MASTER_UI_V5 */
.section-help { color: var(--muted); margin: 6px 0 16px; line-height: 1.5; }
.budget-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:16px 0; }
.budget-summary-grid article { border:1px solid var(--line); border-radius:14px; padding:13px; background:#fbfcfb; }
.budget-summary-grid span { color:var(--muted); font-size:.78rem; display:block; }
.budget-summary-grid strong { display:block; margin-top:5px; font-size:1.08rem; }
.budget-summary-grid .danger strong { color:var(--danger); }
.budget-summary-grid .good strong { color:var(--green-700); }
.budget-progress-list,.budget-editor-list,.master-list { display:grid; gap:10px; margin-top:14px; }
.budget-progress-row,.budget-editor-row,.master-row { border:1px solid var(--line); border-radius:15px; background:#fbfcfb; padding:14px; }
.budget-progress-heading,.master-row-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.budget-progress-heading strong,.budget-progress-heading small,.master-row-heading strong,.master-row-heading small { display:block; }
.budget-progress-heading small,.master-row-heading small,.budget-editor-row small { color:var(--muted); margin-top:3px; }
.budget-progress-heading > span { font-weight:800; font-size:.84rem; text-align:right; }
.budget-progress-track { height:8px; margin-top:10px; background:#e7eee9; border-radius:999px; overflow:hidden; }
.budget-progress-track span { display:block; height:100%; border-radius:inherit; background:var(--green-700); }
.budget-progress-row.warning .budget-progress-track span { background:#d97706; }
.budget-progress-row.over .budget-progress-track span,.budget-progress-row.unbudgeted .budget-progress-track span { background:var(--danger); }
.budget-editor-row { display:grid; grid-template-columns:1fr minmax(170px,240px); gap:14px; align-items:end; }
.budget-editor-row label { margin:0; }
.master-row.inactive { opacity:.72; background:#f5f6f5; }
.master-fields { display:grid; grid-template-columns:repeat(4,minmax(120px,1fr)); gap:10px; margin-top:13px; align-items:end; }
.master-fields.category-fields { grid-template-columns:minmax(180px,2fr) 1fr 1fr; }
.master-fields label { margin:0; }
.master-actions { display:flex; justify-content:flex-end; margin-top:12px; }
.transaction-flags .choice-help { align-items:flex-start; padding:12px; border:1px solid var(--line); border-radius:13px; background:#fbfcfb; }
.choice-help span,.choice-help strong,.choice-help small { display:block; }
.choice-help small { color:var(--muted); margin-top:3px; line-height:1.4; font-weight:500; }
button:disabled { opacity:.55; cursor:not-allowed; }

@media (max-width: 820px) {
  .budget-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .master-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .master-fields.category-fields { grid-template-columns:1fr 1fr; }
}
@media (max-width: 620px) {
  .budget-editor-row { grid-template-columns:1fr; }
  .master-fields,.master-fields.category-fields { grid-template-columns:1fr; }
  .budget-progress-heading,.master-row-heading { align-items:flex-start; }
}


/* HISAB_SAFE_DELETE_CONTROLS_V5_2 */
.bill-card-actions { flex-wrap: wrap; }
.delete-control {
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid #fecaca;
  border-radius: 12px;
  background: #fff7f7;
  font-weight: 800;
}
.delete-control:hover { background: #fee2e2; }
.master-actions { gap: 10px; flex-wrap: wrap; align-items: center; }
.budget-editor-controls { display: grid; grid-template-columns: minmax(150px, 1fr) auto; gap: 9px; align-items: end; }
.budget-editor-controls label { margin: 0; }
.page-heading p { margin: 5px 0 0; color: var(--muted); max-width: 560px; line-height: 1.4; }
@media (max-width: 620px) {
  .bill-card-actions > button { flex: 1 1 auto; }
  .budget-editor-controls { grid-template-columns: 1fr; }
  .master-actions > button { flex: 1 1 auto; }
}


/* HISAB_TRANSACTION_CORRECTION_DATE_BALANCE_V5_4 */
.transaction-balance-panel {
  margin: 18px 0;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(135deg, #ffffff 0%, #f1fbf4 100%);
}
.transaction-balance-heading,
.transaction-day-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.transaction-balance-heading h3,
.transaction-day-heading h3 { margin: 0; }
.transaction-balance-heading p,
.transaction-day-heading small { margin: 4px 0 0; color: var(--muted); }
.balance-as-of {
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: .76rem;
  font-weight: 800;
}
.transaction-balance-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(165px, 1fr);
  gap: 10px;
  overflow-x: auto;
  padding: 13px 1px 2px;
  scrollbar-width: thin;
}
.transaction-balance-card {
  min-height: 105px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: white;
}
.transaction-balance-card.featured {
  color: white;
  border-color: transparent;
  background: linear-gradient(135deg, var(--green-900), var(--green-700));
}
.transaction-balance-card span,
.transaction-balance-card small { display: block; opacity: .78; }
.transaction-balance-card strong { display: block; margin: 8px 0 4px; font-size: 1.28rem; }
.transaction-day-group {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.transaction-day-heading {
  padding: 14px 16px;
  background: #f4f8f5;
  border-bottom: 1px solid var(--line);
}
.transaction-day-heading h3 { font-size: 1rem; }
.daily-movement-summary {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}
.daily-movement-summary span {
  padding: 5px 8px;
  border-radius: 999px;
  background: white;
  border: 1px solid var(--line);
  font-size: .72rem;
  font-weight: 800;
}
.daily-movement-summary .income { color: var(--green-700); }
.daily-movement-summary .expense { color: var(--danger); }
.transaction-day-rows { display: grid; }
.transaction-day-rows .transaction-row {
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid var(--line);
}
.transaction-day-rows .transaction-row:last-child { border-bottom: 0; }
.transaction-row.void-row { opacity: .66; background: #f8faf8; }
.transaction-right { min-width: 150px; }
.transaction-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 7px;
  flex-wrap: wrap;
}
button.compact { min-height: 32px; padding: 5px 9px; font-size: .78rem; }
.transaction-row .amount.transfer { color: #334155; }
.status.corrected { color: #7c3aed; background: #f3e8ff; }
.revision-pill {
  display: inline-flex;
  padding: 3px 7px;
  border-radius: 999px;
  color: #075985;
  background: #e0f2fe;
  font-size: .7rem;
  font-weight: 800;
}
#correctionReasonField small { color: var(--muted); line-height: 1.4; }
#correctionReasonField textarea { resize: vertical; }
.correction-history-list { display: grid; gap: 10px; margin-top: 16px; }
.correction-history-row {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 11px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fbfcfb;
}
.correction-history-number {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green-100);
  color: var(--green-900);
  font-weight: 850;
}
.correction-history-row p,
.correction-history-row small { margin: 4px 0 0; color: var(--muted); }

@media (max-width: 620px) {
  .transaction-day-heading { flex-direction: column; }
  .daily-movement-summary { justify-content: flex-start; }
  .transaction-row { grid-template-columns: 1fr; }
  .transaction-right { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .transaction-row .amount { text-align: left; }
  .transaction-actions { margin-top: 0; }
  .correction-history-row { grid-template-columns: 30px 1fr; }
  .correction-history-row > .status { grid-column: 2; justify-self: start; }
}

/* HISAB_COLLAPSE_CORRECTED_HISTORY_V5_4_4 */
.corrected-history-collapse {
  border-top: 1px solid var(--line);
  background: #f8faf8;
}
.corrected-history-collapse > summary {
  list-style: none;
  min-height: 58px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  color: var(--green-900);
  user-select: none;
}
.corrected-history-collapse > summary::-webkit-details-marker {
  display: none;
}
.corrected-history-collapse > summary span:first-child {
  display: grid;
  gap: 3px;
}
.corrected-history-collapse > summary small {
  color: var(--muted);
  font-weight: 500;
}
.corrected-history-count {
  min-width: 30px;
  height: 30px;
  padding: 0 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d8eee0;
  border-radius: 999px;
  background: white;
  font-size: .78rem;
  font-weight: 850;
}
.corrected-history-collapse > summary::after {
  content: "Show";
  color: var(--green-700);
  font-size: .76rem;
  font-weight: 850;
}
.corrected-history-collapse[open] > summary::after {
  content: "Hide";
}
.corrected-history-collapse-rows {
  display: grid;
  border-top: 1px dashed var(--line);
}
.corrected-history-collapse-rows .transaction-row {
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid var(--line);
  background: #fbfcfb;
}
.corrected-history-collapse-rows .transaction-row:last-child {
  border-bottom: 0;
}
@media (max-width: 620px) {
  .corrected-history-collapse > summary {
    align-items: flex-start;
  }
  .corrected-history-collapse > summary::after {
    margin-left: auto;
  }
}

/* HISAB_BUDGET_CONTROL_DRILLDOWN_V5_5 */
.budget-status-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.budget-status-tab{min-height:66px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;align-content:center;gap:2px;text-align:left;cursor:pointer;box-shadow:none}
.budget-status-tab strong{font-size:1.15rem;line-height:1}
.budget-status-tab span{color:var(--muted);font-size:.78rem;font-weight:750}
.budget-status-tab.active{border-color:#166534;box-shadow:0 0 0 2px rgba(22,101,52,.1)}
.budget-status-tab.over strong,.budget-status-tab.over.active span{color:#b91c1c}
.budget-status-tab.warning strong,.budget-status-tab.warning.active span{color:#b45309}
.budget-status-tab.safe strong,.budget-status-tab.safe.active span{color:#15803d}
.budget-status-tab.unbudgeted strong,.budget-status-tab.unbudgeted.active span{color:#475569}
.budget-control-list{display:grid;gap:12px}
.budget-control-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}
.budget-control-card>summary{list-style:none;position:relative;padding:16px 54px 22px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;cursor:pointer;user-select:none}
.budget-control-card>summary::-webkit-details-marker{display:none}
.budget-control-card.over{border-color:#fecaca;background:#fffafa}
.budget-control-card.warning{border-color:#fed7aa;background:#fffdf7}
.budget-control-card.safe{border-color:#d1fae5}
.budget-control-card.unbudgeted{border-color:#cbd5e1;background:#f8fafc}
.budget-control-card-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.budget-control-card-title>strong{font-size:1rem}
.budget-control-card-copy{min-width:0;display:grid;gap:6px}
.budget-control-card-copy>small{color:var(--muted)}
.budget-status-badge{padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:850;white-space:nowrap}
.budget-status-badge.over{color:#991b1b;background:#fee2e2}
.budget-status-badge.warning{color:#92400e;background:#ffedd5}
.budget-status-badge.safe{color:#166534;background:#dcfce7}
.budget-status-badge.unbudgeted{color:#334155;background:#e2e8f0}
.budget-control-card-figures{min-width:145px;display:grid;justify-items:end;align-content:center}
.budget-control-card-figures strong{font-size:1rem}
.budget-control-card-figures small{color:var(--muted)}
.budget-control-card-chevron{position:absolute;top:19px;right:18px;font-size:1.15rem;font-weight:900;transition:transform .18s ease}
.budget-control-card[open] .budget-control-card-chevron{transform:rotate(180deg)}
.budget-control-track{position:absolute;left:16px;right:16px;bottom:10px;height:7px;overflow:hidden;border-radius:999px;background:#e5e7eb}
.budget-control-track span{display:block;height:100%;border-radius:inherit;background:#15803d}
.budget-control-card.over .budget-control-track span{background:#dc2626}
.budget-control-card.warning .budget-control-track span{background:#d97706}
.budget-control-card.unbudgeted .budget-control-track span{background:#64748b}
.budget-control-detail{padding:16px;border-top:1px solid var(--line);background:#fff}
.budget-control-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.budget-control-metrics article{min-height:76px;padding:12px;border:1px solid var(--line);border-radius:14px;display:grid;align-content:center;gap:4px}
.budget-control-metrics article span{color:var(--muted);font-size:.76rem}
.budget-control-metrics article strong{font-size:.98rem}
.budget-control-metrics article.danger strong{color:#b91c1c}
.budget-control-metrics article.good strong{color:#15803d}
.budget-control-detail-heading{margin:16px 0 10px}
.budget-control-detail-heading>div{display:grid;gap:3px}
.budget-control-detail-heading small{color:var(--muted)}
.budget-expense-list{display:grid;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.budget-expense-row{min-height:76px;padding:12px 14px;display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--line);background:#fff}
.budget-expense-row:last-child{border-bottom:0}
.budget-expense-main{min-width:0;display:grid;gap:4px}
.budget-expense-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.budget-expense-main small{color:var(--muted)}
.budget-expense-side{display:grid;justify-items:end;gap:7px}
.budget-expense-side>strong{color:#b91c1c}
.budget-expense-actions{display:flex;align-items:center;gap:8px}
@media(max-width:820px){.budget-status-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-control-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.budget-status-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-status-tab:first-child{grid-column:1/-1}.budget-control-card>summary{grid-template-columns:1fr;padding-right:44px}.budget-control-card-figures{min-width:0;justify-items:start}.budget-expense-row{align-items:flex-start}.budget-expense-side{flex:0 0 auto}.budget-expense-actions{justify-content:flex-end;flex-wrap:wrap}}

/* HISAB_SPENDABLE_MICRO_BUDGET_COMPACT_V5_6 */
.spendable-micro-card {
  grid-column: span 2;
  min-height: 162px;
  padding: 20px 22px;
  border: 1px solid #b7e4c7;
  border-radius: 24px;
  color: white;
  background:
    radial-gradient(circle at 92% 5%, rgba(255,255,255,.14), transparent 28%),
    linear-gradient(135deg, #0f5132, #166534);
  box-shadow: 0 16px 36px rgba(15, 81, 50, .14);
}
.spendable-micro-card.warning {
  border-color: #fdba74;
  background: linear-gradient(135deg, #9a5308, #c56b0a);
}
.spendable-micro-card.overspent {
  border-color: #fca5a5;
  background: linear-gradient(135deg, #991b1b, #b91c1c);
}
.spendable-micro-top {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: flex-start;
}
.spendable-micro-main,
.daily-limit-micro {
  display: grid;
  gap: 5px;
}
.spendable-micro-main > span,
.daily-limit-micro > span {
  font-size: .84rem;
  font-weight: 750;
  opacity: .86;
}
.spendable-micro-main > strong {
  font-size: clamp(2rem, 3.4vw, 2.7rem);
  line-height: 1;
}
.daily-limit-micro {
  min-width: 175px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 16px;
  background: rgba(255,255,255,.1);
}
.daily-limit-micro > strong {
  font-size: 1.35rem;
}
.spendable-micro-card small {
  color: rgba(255,255,255,.8);
}
.spendable-breakdown {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.spendable-breakdown > div {
  padding: 9px 11px;
  border-radius: 13px;
  background: rgba(255,255,255,.09);
  display: grid;
  gap: 2px;
}
.spendable-breakdown span {
  font-size: .72rem;
  opacity: .76;
}
.spendable-breakdown strong {
  font-size: .9rem;
}
.spendable-breakdown .minus strong {
  color: #fde68a;
}
.spendable-formula {
  margin-top: 10px;
  font-size: .74rem;
  font-weight: 700;
  opacity: .82;
}

#dashboardBudgetRows.budget-progress-list {
  display: block;
}
#dashboardBudgetRows .budget-control-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
#dashboardBudgetRows .budget-control-card.compact {
  min-width: 0;
  border-radius: 15px;
}
#dashboardBudgetRows .budget-control-card.compact[open] {
  grid-column: 1 / -1;
}
#dashboardBudgetRows .budget-control-card.compact > summary {
  min-height: 128px;
  padding: 13px 34px 17px 13px;
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 7px;
}
.budget-compact-head {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}
.budget-compact-head > strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .9rem;
}
.budget-compact-head .budget-status-badge {
  flex: 0 0 auto;
  padding: 4px 7px;
  font-size: .62rem;
}
.budget-compact-amount {
  display: grid;
  gap: 1px;
}
.budget-compact-amount > strong {
  font-size: 1.08rem;
}
.budget-compact-amount > small {
  color: var(--muted);
  font-size: .7rem;
}
.budget-compact-foot {
  display: flex;
  justify-content: space-between;
  gap: 7px;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 700;
}
#dashboardBudgetRows .budget-control-card.over .budget-compact-foot span:first-child {
  color: #b91c1c;
}
#dashboardBudgetRows .budget-control-card.warning .budget-compact-foot span:first-child {
  color: #b45309;
}
#dashboardBudgetRows .budget-control-card-chevron {
  top: 13px;
  right: 11px;
  font-size: .95rem;
}
#dashboardBudgetRows .budget-control-track {
  left: 13px;
  right: 13px;
  bottom: 8px;
  height: 5px;
}
#dashboardBudgetRows .budget-control-card[open] > summary {
  min-height: 96px;
  grid-template-columns: minmax(0, 1fr) auto;
}
#dashboardBudgetRows .budget-control-card[open] .budget-compact-amount {
  justify-items: end;
}
#dashboardBudgetRows .budget-control-card[open] .budget-compact-foot {
  grid-column: 1 / -1;
}
.budget-status-tabs {
  grid-template-columns: repeat(auto-fit, minmax(95px, 1fr));
}
.budget-status-tab {
  min-height: 54px;
  padding: 8px 10px;
  border-radius: 13px;
}
.budget-status-tab strong {
  font-size: 1rem;
}
.budget-status-tab span {
  font-size: .7rem;
}

@media (max-width: 1050px) {
  #dashboardBudgetRows .budget-control-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 780px) {
  .spendable-micro-card {
    grid-column: 1 / -1;
  }
  #dashboardBudgetRows .budget-control-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .spendable-micro-top {
    display: grid;
  }
  .daily-limit-micro {
    min-width: 0;
  }
  .spendable-breakdown {
    grid-template-columns: 1fr;
  }
  #dashboardBudgetRows .budget-control-list {
    grid-template-columns: 1fr;
  }
  #dashboardBudgetRows .budget-control-card.compact[open] {
    grid-column: auto;
  }
}


/* HISAB_LOAN_MODULE_V5_7 */
.bottom-nav{grid-template-columns:repeat(5,1fr);width:min(calc(100% - 24px),720px)}
.bottom-nav button{font-size:.68rem}
.loan-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.loan-summary-card{min-height:118px;padding:17px;border:1px solid var(--line);border-radius:18px;background:#fff;display:grid;align-content:center;gap:6px;box-shadow:var(--shadow)}
.loan-summary-card span,.loan-summary-card small{color:var(--muted)}
.loan-summary-card strong{font-size:1.45rem}
.loan-summary-card.payable strong{color:#b91c1c}.loan-summary-card.receivable strong{color:#15803d}.loan-summary-card.due strong{color:#b45309}
.loan-filter-tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:14px;padding-bottom:2px}
.loan-filter-tabs button{min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;white-space:nowrap;font-weight:800}
.loan-filter-tabs button.active{color:#fff;border-color:var(--green-800);background:var(--green-800)}
.loan-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.loan-card{padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}
.loan-card.taken{border-top:4px solid #b91c1c}.loan-card.given{border-top:4px solid #15803d}.loan-card.overdue{border-color:#fca5a5;background:#fffafa}
.loan-card-head,.loan-next-due,.loan-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.loan-card-head h3{margin:7px 0 3px}.loan-card-head small,.loan-next-due span{color:var(--muted)}
.loan-type-badge{padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:850}.loan-type-badge.taken{color:#991b1b;background:#fee2e2}.loan-type-badge.given{color:#166534;background:#dcfce7}
.loan-balance-row{margin-top:16px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px}.loan-balance-row>div{padding:10px;border-radius:13px;background:#f7faf8;display:grid;gap:3px}.loan-balance-row span{color:var(--muted);font-size:.7rem}.loan-balance-row strong{font-size:.9rem}
.loan-progress{height:7px;margin:14px 0;overflow:hidden;border-radius:999px;background:#e5e7eb}.loan-progress span{display:block;height:100%;background:var(--green-700)}.loan-card.taken .loan-progress span{background:#dc2626}
.loan-next-due{min-height:42px;padding:10px 0;border-top:1px solid var(--line)}.loan-card-actions{justify-content:flex-end;flex-wrap:wrap;margin-top:12px}
.loan-type-segment{grid-template-columns:repeat(2,1fr)}.wide-modal{width:min(calc(100% - 28px),920px)}.modal-static{padding:23px;overflow:auto;max-height:calc(100vh - 40px)}
.loan-history-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.loan-history-summary article{padding:12px;border:1px solid var(--line);border-radius:14px;display:grid;gap:4px}.loan-history-summary span{color:var(--muted);font-size:.74rem}
.loan-installment-schedule h4,.loan-payment-history h4{margin:18px 0 10px}.loan-schedule-table{overflow:hidden;border:1px solid var(--line);border-radius:14px}.loan-schedule-row{display:grid;grid-template-columns:70px 1.2fr 1fr 1fr;gap:10px;padding:11px 13px;border-bottom:1px solid var(--line)}.loan-schedule-row:last-child{border-bottom:0}.loan-schedule-row.overdue{color:#b91c1c;background:#fff7f7}.loan-schedule-row.paid{color:#166534;background:#f0fdf4}
.loan-payment-history{display:grid;gap:9px}.loan-payment-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px}.loan-payment-history-row>div{display:grid;gap:3px}.loan-payment-history-row>div:nth-child(2){justify-items:end}.loan-payment-history-row small{color:var(--muted)}.loan-payment-history-row.void{opacity:.65;background:#f5f5f5}
.spendable-breakdown{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.loan-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-list{grid-template-columns:1fr}.loan-history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.bottom-nav{width:calc(100% - 18px);padding:5px}.bottom-nav button{font-size:.61rem}.loan-summary-grid{gap:8px}.loan-summary-card{min-height:100px;padding:13px}.loan-summary-card strong{font-size:1.12rem}.loan-balance-row{grid-template-columns:1fr 1fr}.loan-balance-row>div:first-child{grid-column:1/-1}.loan-history-summary{grid-template-columns:1fr 1fr}.loan-schedule-row{grid-template-columns:45px 1fr 1fr}.loan-schedule-row span:last-child{grid-column:2/-1}.loan-payment-history-row{grid-template-columns:1fr}.loan-payment-history-row>div:nth-child(2){justify-items:start}.spendable-breakdown{grid-template-columns:1fr}}

/* HISAB_MOBILE_FIRST_APP_V5_8 */
.mobile-assistant-toggle,
.mobile-sheet-backdrop { display: none; }

@media (max-width: 700px) {
  :root {
    --mobile-nav-height: 70px;
    --mobile-safe-bottom: env(safe-area-inset-bottom, 0px);
  }

  html { font-size: 16px; overflow-x: hidden; -webkit-text-size-adjust: 100%; }
  body { overflow-x: hidden; background: #f4f8f5; }
  body.mobile-assistant-open,
  body.mobile-budget-sheet-open { overflow: hidden; touch-action: none; }

  button, input, select, textarea { font-size: 16px; }
  button, .text-button, .ghost, .primary, .secondary, .danger-text { min-height: 42px; }

  .topbar {
    position: sticky;
    top: 0;
    z-index: 90;
    height: 58px;
    padding: env(safe-area-inset-top, 0px) 12px 0;
    border-bottom: 1px solid rgba(15,81,50,.08);
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  .brand-row.compact { gap: 8px; }
  .brand-row.compact .brand-mark.small { width: 34px; height: 34px; border-radius: 11px; font-size: .9rem; }
  .brand-row.compact strong { font-size: .92rem; }
  .brand-row.compact span { font-size: .7rem; }
  .top-actions { gap: 5px; }
  .top-actions .ghost { min-height: 36px; padding: 0 10px; border-radius: 11px; font-size: .78rem; }

  .page {
    width: 100%;
    max-width: none;
    padding: 12px 10px calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 30px);
  }

  .page-panel { min-width: 0; }
  .page-heading { margin-bottom: 10px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 8px; }
  .page-heading h2 { margin-top: 3px; font-size: 1.22rem; line-height: 1.12; }
  .page-heading > div > p:not(.eyebrow) { margin-top: 4px; font-size: .76rem; line-height: 1.35; }
  .eyebrow { font-size: .62rem; letter-spacing: .12em; }
  .month-picker { width: 126px; min-height: 40px; padding: 8px 9px; border-radius: 12px; font-size: .78rem; }

  .health-banner { min-height: 42px; margin-bottom: 9px; padding: 9px 11px; display: grid; grid-template-columns: 1fr; gap: 3px; border-radius: 14px; font-size: .75rem; }
  .health-banner > div { gap: 7px; }
  .health-dot { width: 7px; height: 7px; box-shadow: 0 0 0 3px rgba(255,255,255,.65); }
  #healthText { padding-left: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: .85; }

  .metrics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .spendable-micro-card { grid-column: 1/-1; min-height: 0; padding: 15px; border-radius: 20px; box-shadow: 0 10px 26px rgba(15,81,50,.14); }
  .spendable-micro-top { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: stretch; gap: 9px; }
  .spendable-micro-main { gap: 3px; }
  .spendable-micro-main > span,
  .daily-limit-micro > span { font-size: .7rem; }
  .spendable-micro-main > strong { font-size: 1.85rem; }
  .spendable-micro-main > small { max-width: 195px; font-size: .67rem; line-height: 1.25; }
  .daily-limit-micro { min-width: 108px; padding: 9px 10px; border-radius: 13px; gap: 3px; }
  .daily-limit-micro > strong { font-size: 1.05rem; }
  .daily-limit-micro > small { font-size: .64rem; }
  .spendable-breakdown { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 10px; gap: 6px; }
  .spendable-breakdown > div { min-width: 0; padding: 8px 9px; border-radius: 11px; }
  .spendable-breakdown span { font-size: .62rem; }
  .spendable-breakdown strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
  .spendable-formula { margin-top: 7px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .62rem; }

  .metric-card { min-height: 92px; padding: 12px; gap: 5px; border-radius: 16px; box-shadow: 0 7px 20px rgba(15,23,42,.05); }
  .metric-card span,
  .metric-card small { font-size: .68rem; line-height: 1.25; }
  .metric-card strong { font-size: 1.12rem; line-height: 1.15; }

  .assistant-card { position: relative; margin-top: 10px; padding: 12px; border-radius: 18px; box-shadow: 0 7px 22px rgba(15,23,42,.06); }
  .assistant-heading { min-height: 42px; gap: 9px; padding-right: 62px; }
  .assistant-heading h3 { font-size: .93rem; }
  .assistant-heading p { margin-top: 2px; font-size: .68rem; }
  .assistant-orb { width: 38px; height: 38px; border-radius: 12px; font-size: .75rem; }

  .mobile-assistant-toggle {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-grid;
    min-width: 50px;
    min-height: 34px;
    padding: 0 9px;
    place-items: center;
    color: var(--green-800);
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    background: #f0fdf4;
    font-size: .7rem;
    font-weight: 850;
    cursor: pointer;
  }

  .assistant-card.mobile-collapsed { min-height: 66px; }
  .assistant-card.mobile-collapsed > :not(.assistant-heading) { display: none !important; }
  .assistant-card.mobile-open {
    position: fixed;
    z-index: 150;
    inset: max(10px,env(safe-area-inset-top,0px)) 8px calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 7px);
    margin: 0;
    padding: 14px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 22px;
    box-shadow: 0 25px 80px rgba(15,23,42,.28);
  }

  .assistant-card.mobile-open .assistant-heading { position: sticky; top: -14px; z-index: 2; margin: -14px -14px 12px; padding: 14px 76px 12px 14px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
  .assistant-card.mobile-open .mobile-assistant-toggle { top: 14px; right: 14px; }
  .assistant-card.mobile-open .voice-command-console { grid-template-columns: 1fr; gap: 8px; }
  .assistant-card.mobile-open .voice-command-button,
  .assistant-card.mobile-open .wake-toggle-button { min-height: 64px; }
  .assistant-card.mobile-open .assistant-form { grid-template-columns: 1fr; gap: 8px; }
  .assistant-card.mobile-open .assistant-form input { min-height: 48px; }
  .assistant-card.mobile-open .quick-prompts { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 3px; }
  .assistant-card.mobile-open .quick-prompts button { flex: 0 0 auto; }

  .mobile-sheet-backdrop { position: fixed; z-index: 140; inset: 0; display: none; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(15,23,42,.42); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
  .mobile-sheet-backdrop.active { display: block; }
  .budget-backdrop { z-index: 155; }

  .content-card { padding: 13px; border-radius: 18px; box-shadow: 0 7px 22px rgba(15,23,42,.05); }
  .content-card,
  .two-column,
  #mobileBudgetSection { margin-top: 10px; }
  .card-heading { align-items: flex-start; gap: 8px; }
  .card-heading h3 { font-size: .94rem; }
  .card-heading p { margin-top: 3px; font-size: .68rem; line-height: 1.3; }
  .card-heading .text-button { min-height: 34px; padding: 0 6px; font-size: .68rem; white-space: nowrap; }

  .budget-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin: 11px 0; }
  .budget-summary-grid article { min-height: 60px; padding: 9px; border-radius: 12px; }
  .budget-summary-grid span { font-size: .62rem; }
  .budget-summary-grid strong { margin-top: 3px; font-size: .86rem; }

  .budget-status-tabs { display: flex; grid-template-columns: none; gap: 7px; margin: 0 -2px 10px; padding: 2px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
  .budget-status-tabs::-webkit-scrollbar { display: none; }
  .budget-status-tab,
  .budget-status-tab:first-child { flex: 0 0 82px; grid-column: auto; min-height: 48px; padding: 7px 9px; border-radius: 12px; }
  .budget-status-tab strong { font-size: .9rem; }
  .budget-status-tab span { font-size: .62rem; }

  #dashboardBudgetRows .budget-control-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  #dashboardBudgetRows .budget-control-card.compact { border-radius: 14px; }
  #dashboardBudgetRows .budget-control-card.compact > summary { min-height: 112px; padding: 11px 28px 15px 11px; gap: 5px; }
  .budget-compact-head { display: grid; justify-items: start; gap: 4px; }
  .budget-compact-head > strong { max-width: 100%; font-size: .78rem; }
  .budget-compact-head .budget-status-badge { padding: 3px 6px; font-size: .54rem; }
  .budget-compact-amount > strong { font-size: .94rem; }
  .budget-compact-amount > small { font-size: .61rem; }
  .budget-compact-foot { font-size: .58rem; }
  #dashboardBudgetRows .budget-control-card-chevron { top: 10px; right: 8px; font-size: .8rem; }

  #dashboardBudgetRows .budget-control-card.compact[open] {
    position: fixed;
    z-index: 160;
    inset: max(8px,env(safe-area-inset-top,0px)) 7px calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 6px);
    grid-column: auto;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 25px 85px rgba(15,23,42,.32);
  }

  #dashboardBudgetRows .budget-control-card.compact[open] > summary { position: sticky; top: 0; z-index: 4; min-height: 90px; padding: 13px 38px 16px 13px; grid-template-columns: minmax(0,1fr) auto; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.97); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
  #dashboardBudgetRows .budget-control-card.compact[open] .budget-compact-head { display: flex; align-items: center; }
  #dashboardBudgetRows .budget-control-card.compact[open] .budget-compact-amount { justify-items: end; }
  #dashboardBudgetRows .budget-control-card.compact[open] .budget-compact-foot { grid-column: 1/-1; }
  #dashboardBudgetRows .budget-control-card.compact[open] .budget-control-card-chevron { top: 15px; right: 13px; padding: 7px; }

  .budget-control-detail { padding: 11px; }
  .budget-control-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .budget-control-metrics article { min-height: 62px; padding: 9px; border-radius: 12px; }
  .budget-control-metrics article span { font-size: .62rem; }
  .budget-control-metrics article strong { font-size: .84rem; }
  .budget-control-detail-heading { margin: 13px 0 8px; }
  .budget-control-detail-heading strong { font-size: .85rem; }
  .budget-control-detail-heading small { font-size: .64rem; }
  .budget-expense-list { border-radius: 12px; }
  .budget-expense-row { min-height: 0; padding: 10px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: start; }
  .budget-expense-main strong { font-size: .78rem; }
  .budget-expense-main small { white-space: normal; font-size: .61rem; line-height: 1.35; }
  .budget-expense-side { gap: 5px; }
  .budget-expense-side > strong { font-size: .78rem; }
  .budget-expense-actions { justify-content: flex-end; gap: 4px; }
  .budget-expense-actions button { min-height: 32px; padding: 0 7px; font-size: .6rem; }

  .two-column,
  .bill-grid,
  .loan-list { grid-template-columns: 1fr; gap: 9px; }
  .account-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .account-card { min-width: 0; padding: 11px; border-radius: 14px; }
  .account-card strong { font-size: .95rem; }
  .account-card small { font-size: .62rem; }

  .loan-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-bottom: 10px; }
  .loan-summary-card { min-height: 88px; padding: 11px; border-radius: 15px; box-shadow: 0 7px 20px rgba(15,23,42,.05); }
  .loan-summary-card span,
  .loan-summary-card small { font-size: .63rem; }
  .loan-summary-card strong { font-size: 1.05rem; }
  .loan-filter-tabs { gap: 6px; margin-bottom: 9px; }
  .loan-filter-tabs button { min-height: 38px; padding: 7px 11px; font-size: .7rem; }
  .loan-card { padding: 13px; border-radius: 17px; }
  .loan-card-head h3 { margin: 5px 0 2px; font-size: .98rem; }
  .loan-balance-row { margin-top: 11px; gap: 6px; }
  .loan-balance-row > div { padding: 8px; border-radius: 11px; }
  .loan-card-actions { gap: 5px; }
  .loan-card-actions button { min-height: 36px; padding: 0 9px; font-size: .66rem; }

  dialog.modal,
  dialog.wide-modal { width: 100%; max-width: none; max-height: calc(94vh - env(safe-area-inset-top,0px)); margin: auto 0 0; border-radius: 24px 24px 0 0; }
  dialog.modal::backdrop,
  dialog.wide-modal::backdrop { background: rgba(15,23,42,.48); backdrop-filter: blur(3px); }
  .modal form,
  .modal-static { max-height: calc(94vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); overflow-y: auto; overscroll-behavior: contain; }
  .modal-heading { position: sticky; top: 0; z-index: 3; padding-bottom: 10px; background: rgba(255,255,255,.97); backdrop-filter: blur(10px); }
  .form-grid { gap: 10px; }
  .form-grid label { font-size: .72rem; }
  .form-grid input,
  .form-grid select,
  .form-grid textarea { min-height: 46px; }
  .modal-actions { position: sticky; bottom: 0; z-index: 3; margin: 14px -1px -1px; padding: 10px 0 max(10px,env(safe-area-inset-bottom,0px)); background: rgba(255,255,255,.97); backdrop-filter: blur(10px); }

  .bottom-nav {
    position: fixed;
    z-index: 120;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: none;
    min-height: calc(var(--mobile-nav-height) + var(--mobile-safe-bottom));
    margin: 0;
    padding: 5px 7px calc(5px + var(--mobile-safe-bottom));
    transform: none;
    grid-template-columns: repeat(5,minmax(0,1fr));
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 18px 18px 0 0;
    background: rgba(255,255,255,.97);
    box-shadow: 0 -9px 30px rgba(15,23,42,.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  .bottom-nav button { min-width: 0; min-height: 54px; padding: 5px 2px; gap: 2px; border-radius: 13px; font-size: .58rem; }
  .bottom-nav button span { font-size: 1.02rem; }
  .bottom-nav button.active { background: #eafaf0; }

  .floating-add { position: fixed; z-index: 125; right: 12px; bottom: calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 10px); width: 50px; height: 50px; border-radius: 17px; box-shadow: 0 10px 25px rgba(15,81,50,.28); }
  .toast { right: 10px; bottom: calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + 14px); left: 10px; width: auto; }
}

@media (max-width: 390px) {
  .page { padding-right: 8px; padding-left: 8px; }
  .spendable-micro-main > strong { font-size: 1.65rem; }
  .daily-limit-micro { min-width: 98px; }
  .metric-card { padding: 10px; }
  #dashboardBudgetRows .budget-control-list { gap: 6px; }
  .bottom-nav button { font-size: .54rem; }
}


/* HISAB_MIZAN_CONVERSATIONAL_AGENT_V6_0 */
.agent-result.mizan-chat {
  max-height: 360px;
  margin: 14px 0;
  padding: 10px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f7faf8;
  display: grid;
  gap: 9px;
}
.agent-result.mizan-chat.hidden {
  display: none;
}
.mizan-message {
  width: min(88%, 620px);
  padding: 10px 12px;
  border-radius: 15px;
  display: grid;
  gap: 5px;
}
.mizan-message > span {
  font-size: .66rem;
  font-weight: 850;
  opacity: .7;
}
.mizan-message > p {
  margin: 0;
  line-height: 1.45;
}
.mizan-message.assistant {
  justify-self: start;
  color: #173d2b;
  border: 1px solid #d1fae5;
  border-bottom-left-radius: 5px;
  background: #ecfdf5;
}
.mizan-message.user {
  justify-self: end;
  color: white;
  border-bottom-right-radius: 5px;
  background: var(--green-800);
}
.mizan-message.loading p {
  animation: mizanPulse 1.1s ease-in-out infinite;
}
.mizan-options,
.mizan-confirm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 5px;
}
.mizan-options button,
.mizan-confirm-actions button {
  min-height: 36px;
  padding: 0 10px;
  font-size: .72rem;
}
.mizan-starters {
  align-items: center;
}
#resetMizanChat {
  color: #64748b;
  border-style: dashed;
}
@keyframes mizanPulse {
  0%, 100% { opacity: .45; }
  50% { opacity: 1; }
}
@media (max-width: 700px) {
  .assistant-card.mobile-open .agent-result.mizan-chat {
    max-height: none;
    min-height: 190px;
    flex: 1 1 auto;
  }
  .mizan-message {
    width: 92%;
    padding: 9px 10px;
    font-size: .82rem;
  }
  .mizan-options {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 2px;
  }
  .mizan-options button {
    flex: 0 0 auto;
  }
  .assistant-card.mobile-open {
    display: flex;
    flex-direction: column;
  }
  .assistant-card.mobile-open .voice-agent-form {
    position: sticky;
    bottom: 0;
    z-index: 3;
    padding-top: 8px;
    background: white;
  }
}

/* HISAB_SALMAN_SIRI_FEEDBACK_V6_1 */
#voiceButton {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

#voiceButton::before,
#voiceButton::after {
  position: absolute;
  content: "";
  pointer-events: none;
  border-radius: inherit;
}

#voiceButton::before {
  inset: -35%;
  z-index: -1;
  opacity: 0;
  background:
    conic-gradient(
      from 0deg,
      rgba(72, 255, 183, 0),
      rgba(72, 255, 183, .45),
      rgba(86, 180, 255, .38),
      rgba(198, 105, 255, .34),
      rgba(72, 255, 183, 0)
    );
}

#voiceButton::after {
  inset: 2px;
  z-index: -1;
  background:
    linear-gradient(
      135deg,
      rgba(7, 94, 50, .98),
      rgba(15, 79, 45, .98)
    );
}

#voiceButton.listening::before,
#voiceButton[aria-pressed="true"]::before {
  opacity: 1;
  animation:
    salmanVoiceRotate 1.8s linear infinite,
    salmanVoicePulse 1.05s ease-in-out infinite;
}

#agentResult:not(.hidden) {
  position: relative;
  overflow: hidden;
}

#agentResult:not(.hidden)::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: -45%;
  width: 35%;
  pointer-events: none;
  opacity: .35;
  transform: skewX(-18deg);
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.88),
      transparent
    );
  animation: salmanThinkingSweep 1.35s ease-in-out infinite;
}

@keyframes salmanVoiceRotate {
  to {
    transform: rotate(360deg);
  }
}

@keyframes salmanVoicePulse {
  0%,
  100% {
    filter: blur(0);
  }

  50% {
    filter: blur(6px);
  }
}

@keyframes salmanThinkingSweep {
  0% {
    left: -45%;
  }

  100% {
    left: 125%;
  }
}

@media (prefers-reduced-motion: reduce) {
  #voiceButton::before,
  #agentResult:not(.hidden)::before {
    animation: none !important;
  }
}
