/* Biểu mẫu Gia sản: khoảng cách và lưới riêng, cùng token với sổ. */
.family-editor { max-width:780px; margin:auto; min-width:0; }
.family-editor h2 { margin:16px 0 24px; font:600 28px/1.35 var(--font-heading); }
.family-editor form.finance-card { padding:24px; }
.family-editor .two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.family-editor .field { min-width:0; }
.family-editor .field-help { margin:8px 0 0; font-size:13px; line-height:1.55; color:var(--color-neutral-800); }
.family-editor .field > label { display:block; margin-bottom:8px; color:var(--color-text); font-size:14px; line-height:1.5; }
.family-editor .input { width:100%; min-height:44px; box-sizing:border-box; }
.family-editor .report-note { font-size:14px; line-height:1.6; color:var(--color-neutral-800); margin:20px 0 0; }
.family-editor.member-release { margin:16px 0 24px; padding:24px; border:1px solid var(--color-divider); border-radius:var(--radius-md); background:var(--color-surface); box-sizing:border-box; }
.member-release h3 { margin:0; font:600 23px/1.35 var(--font-heading); }
.family-editor.member-release .report-note { margin:12px 0 20px; }
.member-release .form-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; margin-top:20px; }
.member-release .form-actions .btn { min-height:44px; }
@media(max-width:600px) { .family-editor.member-release { padding:20px; } .member-release .form-actions { display:grid; grid-template-columns:minmax(0,1fr); } .member-release .form-actions .btn { width:100%; } }
@media(max-width:600px) { .family-editor .two { grid-template-columns:minmax(0,1fr); gap:16px; } .family-editor form.finance-card { padding:20px; } }
/* Thùng rác dùng cùng màu và font với sổ; giữ style trong phạm vi màn này. */
.trash-screen { --trash-muted:var(--color-neutral-800); --trash-danger:var(--color-accent-2-900); min-width:0; }
.trash-screen h2 { margin:0 0 8px; font:600 24px/1.35 var(--font-heading); }
.trash-screen p { margin:0; }
.trash-description { max-width:75ch; color:var(--trash-muted); font-size:14px; line-height:1.6; text-wrap:pretty; }
.trash-toolbar { display:flex; gap:8px; margin:20px 0; }
.trash-screen .btn { min-height:44px; padding:10px 16px; border-radius:12px; font-size:14px; line-height:1.35; white-space:normal; box-shadow:none; max-width:100%; }
.trash-screen .btn-secondary { background:var(--color-surface); border:1px solid var(--color-divider); }
.trash-screen .btn-secondary:hover { background:var(--color-neutral-200); }
.trash-screen .trash-danger { background:var(--color-accent-2-100); color:var(--trash-danger); border:1px solid transparent; }
.trash-screen .trash-danger:hover { background:var(--color-accent-2-200); }
.trash-screen .btn:focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; }
.trash-screen [aria-busy=true] { cursor:progress; }
.trash-list { border:1px solid var(--color-divider); border-radius:16px; background:var(--color-surface); overflow:hidden; }
.trash-row { display:grid; grid-template-columns:minmax(0,1fr) 160px 180px; align-items:center; gap:24px; padding:20px; }
.trash-row + .trash-row { border-top:1px solid var(--color-divider); }
.trash-row-main { min-width:0; }
.trash-row-type { color:var(--trash-muted); font-size:12px; line-height:1.5; }
.trash-screen .trash-row-title { margin:4px 0 8px; font:600 16px/1.5 var(--font-body); overflow-wrap:anywhere; }
.trash-row-meta { display:flex; flex-wrap:wrap; gap:4px 16px; color:var(--trash-muted); font-size:12px; line-height:1.6; }
.trash-row-deleted { margin-top:4px !important; color:var(--trash-muted); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.trash-row-money { font:600 18px/1.5 var(--font-heading); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; text-align:right; }
.trash-row-action { display:grid; justify-items:end; gap:8px; }
.trash-deadline { font-size:12px; color:var(--trash-muted); text-align:right; line-height:1.5; }
.trash-deadline-soon { color:var(--color-accent-2-900); }
.trash-readonly { color:var(--trash-muted); font-size:12px; text-align:right; line-height:1.5; }
.trash-confirm { max-width:680px; margin:0 0 20px; padding:24px; border:1px solid var(--color-divider); border-radius:16px; background:var(--color-surface); }
.trash-screen .trash-confirm-title { margin:0 0 12px; font:600 20px/1.4 var(--font-heading); }
.trash-confirm-copy { display:grid; gap:8px; color:var(--trash-muted); font-size:14px; line-height:1.6; text-wrap:pretty; }
.trash-confirm-copy small { font-size:12px; }
.trash-confirm-field { display:grid; gap:8px; margin-top:20px; max-width:420px; }
.trash-confirm-field label { font-size:14px; font-weight:600; line-height:1.5; }
.trash-screen .trash-confirm-field .input { width:100%; height:44px; padding:10px 12px; font:16px/1.5 var(--font-body); background:var(--color-surface); border:1px solid var(--color-divider); border-radius:12px; box-sizing:border-box; }
.trash-confirm-field .input:focus-visible { outline:2px solid var(--color-accent); outline-offset:2px; }
.trash-confirm-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:24px; }
.trash-blockers { margin:0; padding-left:20px; overflow-wrap:anywhere; }
.trash-feedback { margin:0 0 16px !important; padding:12px 16px; border-radius:12px; font-size:14px; line-height:1.6; background:var(--color-accent-100); color:var(--color-accent-800); overflow-wrap:anywhere; }
.trash-feedback[role=alert] { background:var(--color-accent-2-100); color:var(--trash-danger); }
.trash-empty { padding:32px 20px; color:var(--trash-muted); background:var(--color-surface); border:1px solid var(--color-divider); border-radius:16px; font-size:14px; line-height:1.6; }
@media (max-width:760px) {
  .trash-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; padding:16px; }
  .trash-row-main { grid-column:1/-1; }
  .trash-row-money { text-align:left; align-self:end; }
  .trash-row-action { align-self:end; }
  .trash-toolbar { display:grid; grid-template-columns:1fr 2fr; }
  .trash-confirm { padding:16px; }
}
@media (max-width:400px) {
  .trash-confirm-actions { display:grid; grid-template-columns:1fr 1.5fr; }
}
/* Lựa chọn ở phiếu ghi khoản: nhận ra trạng thái ngay trên màn điện thoại. */
.entry-kind-tabs { gap:6px; padding:5px; background:var(--color-accent-100); }
.entry-kind-tabs .seg-opt { min-width:0; min-height:44px; padding:8px 4px; border:1px solid var(--color-accent-300); background:var(--color-surface); color:var(--color-accent-800); font-weight:600; }
.entry-kind-tabs .seg-opt + .seg-opt { border-left:1px solid var(--color-accent-300); }
.entry-kind-tabs .seg-opt:has(input:checked) { border-color:var(--color-accent); background:var(--color-accent); color:#fff; box-shadow:none; }
.entry-kind-tabs .seg-opt:not(:has(input:checked)):hover { background:var(--color-accent-100); }
.entry-kind-tabs .seg-opt:has(input:focus-visible) { outline-offset:2px; }
.entry-who-chips .chip[aria-pressed="true"] { color:#fff !important; }
.recovery-box label { color:var(--color-neutral-800); }
.recovery-box .btn { font-size:16px; }

/* Shared action dock for manual entry and QR review; desktop stays in flow. */
.mobile-action-summary { display: none; }
.mobile-actions-inner { width: 100%; }
.mobile-action-hint { font-size: 12px; color: var(--color-neutral-600); margin: 8px 0 0; text-align: center; }
.mobile-actions .btn:disabled { opacity: .55; cursor: not-allowed; }
@media (max-width: 899px) {
  .mobile-actions-active main.shell { padding-bottom: calc(124px + var(--mobile-action-height, 118px) + var(--mobile-keyboard-inset, 0px)); }
  .mobile-actions { position: fixed; left: 0; right: 0; bottom: var(--mobile-action-bottom, 76px); z-index: 45; margin: 0; padding: 10px 18px; background: var(--color-surface, #fff); border-top: 1px solid var(--color-neutral-300); box-shadow: 0 -4px 18px rgba(28, 55, 39, .08); }
  .mobile-actions-inner { max-width: 554px; margin: 0 auto; }
  .mobile-action-summary { display: flex; gap: 12px; align-items: baseline; margin-bottom: 7px; font-size: 14px; }
  .mobile-action-summary strong { white-space: nowrap; color: var(--color-neutral-900); }
  .mobile-action-summary span { min-width: 0; flex: 1; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--color-neutral-600); }
  .mobile-actions .btn { width: 100%; min-height: 48px; }
  .mobile-action-hint { margin-top: 5px; line-height: 1.35; }
  .mobile-actions-active .app-toast, .mobile-actions-active .app-update-notice { bottom: calc(var(--mobile-action-bottom, 76px) + var(--mobile-action-height, 118px) + 10px) !important; }
  .mobile-actions-active .app-toast { pointer-events: none; }
  .mobile-action-keyboard .tabs { visibility: hidden; pointer-events: none; }
}
