.ledger .ledger-category {display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ledger-repeat {font:inherit;font-size:10px;line-height:1.5;border:0;border-radius:3px;background:transparent;color:inherit;padding:1px 3px;cursor:pointer;white-space:nowrap;opacity:0}
.ledger td:hover .ledger-repeat,.ledger td:focus-within .ledger-repeat,.ledger td.selcell .ledger-repeat,.ledger-repeat.linked {opacity:1}
.ledger-repeat.linked {color:var(--blue);background:#eaf0f7}
.ledger-repeat:hover {background:#dfe9f5}
.ledger-tax-button {border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:right;width:100%}
.ledger-tax-button:hover {color:var(--blue);text-decoration:underline}
.ledger-recurring-dialog {width:min(480px,calc(100% - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:22px;color:var(--ink);background:#fff;box-shadow:0 12px 45px #0003}
.ledger-recurring-dialog::backdrop {background:#15223a66}
.lr-heading {display:flex;justify-content:space-between;align-items:center;gap:12px}
.lr-heading h2 {font-size:17px;margin:0}
.lr-heading button {background:transparent;border:0;font-size:22px;cursor:pointer;color:var(--muted);padding:0 5px}
.lr-date {color:var(--muted);font-size:12px;margin:6px 0 16px}
.lr-fields {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.lr-fields label {display:flex;flex-direction:column;gap:5px;font-size:12px}
.lr-fields [hidden]{display:none}
.lr-fields input,.lr-fields select {box-sizing:border-box;min-width:0;width:100%}
.lr-wide {grid-column:1/-1}
.lr-next {display:flex;flex-direction:column;gap:9px;font-size:12px}
.lr-next output {font-variant-numeric:tabular-nums}
.lr-footer {display:flex;align-items:center;gap:8px;margin-top:20px}
.lr-footer [data-history]{display:flex;gap:6px;margin-right:auto}
.lr-footer [data-status]{font-size:12px;color:var(--muted)}
.lr-error {font-size:12px;color:var(--red);margin-top:14px}
@media(max-width:480px){.ledger-recurring-dialog{padding:16px}.lr-fields{gap:12px}.lr-fields input,.lr-fields select{font-size:16px}}
@media(pointer:coarse){.ledger-repeat{opacity:1;min-height:32px}.lr-fields input,.lr-fields select,.lr-footer button{min-height:44px}}
