.dialog-body{padding:24px}
.history-group{margin:0 0 18px}
.history-group h3{margin:0 0 8px}
.history-link{width:100%;display:flex;justify-content:space-between;gap:15px;border:1px solid var(--line);background:#fff;padding:12px;margin:6px 0;border-radius:10px;text-align:left;cursor:pointer}
.history-link:hover{border-color:var(--brand);background:#fffaf0}
.history-link span{color:var(--muted)}
.history-actions{margin:0 0 16px}
.history-actions .btn{white-space:normal}
.clickable-row{cursor:pointer}
.clickable-row:hover{background:#fffaf0}
.actions-cell{position:sticky;right:0;background:#fff;z-index:2;box-shadow:-8px 0 12px #0000000a}
th.actions-cell{background:#f8fafc;z-index:3}
.budget-item{grid-template-columns:minmax(180px,1.2fr) 110px minmax(190px,1fr) 90px 125px 42px}
select[multiple]{min-height:112px;padding:7px}
label small{color:var(--muted);font-weight:400}
.mobile-tabs{display:none}
.app-loading{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:#1917134d;backdrop-filter:blur(3px)}
.app-loading>div{display:grid;gap:7px;justify-items:center;min-width:170px;border-radius:16px;background:#fff;padding:22px;box-shadow:0 24px 80px #0004}
.app-loading span{width:34px;height:34px;border:4px solid #e8dfd0;border-top-color:var(--brand);border-radius:50%;animation:spin .75s linear infinite}
.app-loading strong{font-size:15px}.app-loading small{color:var(--muted)}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.budget-item{grid-template-columns:1fr 1fr}.budget-item .remove-item{grid-column:2;justify-self:end;width:42px}}
@media(max-width:620px){.history-link{flex-direction:column;gap:3px}.row-actions{flex-wrap:wrap}.actions-cell{position:static}.content{padding-bottom:94px}.mobile-tabs{position:fixed;left:10px;right:10px;bottom:10px;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:8px;border:1px solid #e9deca;border-radius:18px;background:#fffefcf2;box-shadow:0 12px 35px #0002;backdrop-filter:blur(12px)}.mobile-tabs button{display:grid;gap:2px;place-items:center;border:0;border-radius:13px;background:transparent;color:#6d675e;min-height:50px;padding:5px 2px}.mobile-tabs button span{font-size:19px;line-height:1}.mobile-tabs button small{font-size:10px;font-weight:800}.mobile-tabs button.active{background:#191713;color:#ffc94f}.topbar{padding-top:env(safe-area-inset-top)}.app-loading>div{margin:0 18px;width:calc(100% - 36px);max-width:260px}}
