.tbl{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:1rem;}
.tbl-head{display:grid;grid-template-columns:18px minmax(120px,1fr) 80px 95px 100px 100px 100px 90px;gap:5px;padding:7px 0.9rem;background:var(--surface2);border-bottom:1px solid var(--border);}
.tbl-head span{font-family:Inter,sans-serif;font-size:0.57rem;color:var(--text3);letter-spacing:0.07em;text-transform:uppercase;text-align:right;white-space:nowrap;}
.tbl-head span:first-child,.tbl-head span:nth-child(2){text-align:left;}
.tbl-head span:nth-child(3),.tbl-head span:nth-child(4){text-align:center;}
.tbl-head span:nth-child(5),.tbl-head span:nth-child(6){padding-right:3px;}
.tbl-head span.sortable{cursor:pointer;user-select:none;}
.tbl-head span.sortable:hover{color:var(--text2);}
.tbl-head span.sort-asc::after{content:' ▲';font-size:0.5rem;}
.tbl-head span.sort-desc::after{content:' ▼';font-size:0.5rem;}
.grp-row{display:flex;align-items:center;gap:0.5rem;padding:7px 0.9rem;background:var(--surface2);border-bottom:1px solid var(--border);}
.grp-row.drag-over-top{border-top:2px solid var(--accent);}
.grp-row.drag-over-bottom{border-bottom:2px solid var(--accent);}
.grp-name{flex:1;font-family:Inter,sans-serif;font-size:0.63rem;color:var(--text2);letter-spacing:0.08em;text-transform:uppercase;outline:none;border-bottom:1px solid transparent;cursor:text;min-width:0;}
.grp-name:focus{border-bottom-color:var(--accent);text-transform:none;color:var(--text);}
.grp-actions{display:flex;gap:3px;flex-shrink:0;}
.acc-row{display:grid;grid-template-columns:18px minmax(120px,1fr) 80px 95px 100px 100px 100px 90px;gap:5px;align-items:center;padding:9px 0.9rem;border-bottom:0.5px solid var(--border);transition:background 0.15s;}
.acc-row:last-child{border-bottom:none;}
.acc-row:hover{background:rgba(0,0,0,0.025);cursor:pointer;}
.acc-row:active{background:rgba(0,0,0,0.05);}
.acc-row.is-closed{opacity:0.4;}
.acc-row.drag-over-top{border-top:2px solid var(--accent);}
.acc-row.drag-over-bottom{border-bottom:2px solid var(--accent);}
.acc-name{font-size:0.83rem;font-weight:600;outline:none;border-bottom:1px solid transparent;cursor:text;display:block;line-height:1.3;}
.acc-name:hover,.acc-notes:hover{border-bottom-color:var(--border);}
.acc-name:focus,.acc-notes:focus{border-bottom-color:var(--accent);}
.acc-notes{font-family:Inter,sans-serif;font-size:0.6rem;color:var(--text3);margin-top:0.15rem;outline:none;border-bottom:1px solid transparent;cursor:text;display:block;line-height:1.4;max-height:2.8em;overflow:hidden;}
.acc-notes:focus{max-height:none;overflow:visible;}
.acc-badges{display:flex;gap:3px;flex-wrap:wrap;margin-top:0.25rem;align-items:center;}
.rate-cell{text-align:right;}
.rate-display{font-family:Inter,sans-serif;font-size:0.68rem;display:block;text-align:right;padding:2px 3px;line-height:1.45;white-space:normal;}
.pfee-display{font-family:Inter,sans-serif;font-size:0.68rem;display:block;text-align:right;padding:2px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sec-total{display:grid;grid-template-columns:18px minmax(120px,1fr) 80px 95px 100px 100px 100px 90px;gap:5px;padding:5px 0.9rem;background:rgba(0,163,114,0.04);border-bottom:1px solid var(--border);border-top:0.5px dashed var(--border);}
.sec-total-lbl{grid-column:1/7;font-family:Inter,sans-serif;font-size:0.54rem;color:var(--text3);letter-spacing:0.08em;display:flex;align-items:center;}
.sec-total-cur{font-family:Inter,sans-serif;font-size:0.73rem;font-weight:600;color:var(--text);text-align:right;}
.sec-total-ann{font-family:Inter,sans-serif;font-size:0.66rem;color:var(--text2);text-align:right;}
.dh{color:var(--border);font-size:1rem;cursor:grab;user-select:none;display:flex;align-items:center;justify-content:center;letter-spacing:-2px;padding-top:1px;}
.dh:hover{color:var(--text3);}
.dh:active{cursor:grabbing;}
.dh{touch-action:none;}
.mo{text-align:right;min-width:0;overflow:hidden;}
.mo-lbl{font-family:Inter,sans-serif;font-size:0.55rem;color:var(--text3);margin-bottom:1px;}
.mo-bal{font-family:Inter,sans-serif;font-size:0.79rem;font-weight:500;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mo.mo-cur .mo-bal{color:var(--text);font-size:0.83rem;}
.mo-delta{font-family:Inter,sans-serif;font-size:0.58rem;margin-top:2px;}
.mo-sub{font-family:Inter,sans-serif;font-size:0.57rem;margin-top:2px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acts{display:flex;gap:2px;justify-content:flex-end;align-items:center;}
.up{color:var(--green);}.dn{color:var(--text2);}.fl{color:var(--text3);}
.grp-collapsed-row{padding:0.32rem 0.9rem;font-family:Inter,sans-serif;font-size:0.56rem;color:var(--text3);text-align:center;background:var(--surface2);border-bottom:0.5px solid var(--border);opacity:0.65;}
.rt-tier-row{display:grid;grid-template-columns:1fr 1fr 70px 22px;gap:6px;align-items:center;padding:5px 0;border-bottom:0.5px solid var(--border);font-family:Inter,sans-serif;font-size:0.72rem;}
.rt-tier-row:last-child{border-bottom:none;}
.rt-del{width:22px;height:22px;border:none;background:none;cursor:pointer;color:var(--text3);font-size:0.7rem;border-radius:3px;}
.rt-del:hover{background:rgba(229,57,53,0.1);color:var(--red);}
.rt-tier-est{font-size:0.6rem;color:var(--green);margin-top:1px;}
.rate-exp-warn{color:var(--yellow);font-size:0.7rem;}
.debt-cost{font-family:Inter,sans-serif;font-size:0.66rem;color:var(--text2);text-align:right;}
.sec-total-cost{font-family:Inter,sans-serif;font-size:0.66rem;color:var(--text2);text-align:right;}
.isa-trk{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;margin-bottom:0.85rem;}
.isa-trk-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.65rem;}
.isa-trk-ttl{font-size:0.84rem;font-weight:700;}
.isa-trk-tot{font-family:Inter,sans-serif;font-size:0.77rem;color:var(--green);}
.isa-bar-wrap{background:var(--surface2);border-radius:5px;height:9px;overflow:hidden;margin-bottom:0.7rem;}
.isa-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:5px;transition:width 0.5s;}
.isa-bdown{display:flex;gap:0.6rem;flex-wrap:wrap;}
.isa-item{flex:1;min-width:90px;background:var(--surface2);border-radius:8px;padding:0.55rem 0.7rem;}
.isa-item-lbl{font-family:Inter,sans-serif;font-size:0.56rem;color:var(--text3);margin-bottom:0.2rem;}
.isa-item-val{font-size:0.88rem;font-weight:700;outline:none;border-bottom:1px solid transparent;cursor:text;display:block;}
.isa-item-val:focus{border-bottom-color:var(--accent);}
.isa-revert-btn{font-family:Inter,sans-serif;font-size:0.58rem;padding:0.18rem 0.45rem;border-radius:5px;border:1px solid rgba(59,107,232,0.3);background:rgba(59,107,232,0.08);color:var(--blue);cursor:pointer;transition:all 0.15s;}
.isa-revert-btn:hover{background:rgba(59,107,232,0.18);}
.isa-acc-row{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.4rem;}
.isa-acc-lbl-edit{font-family:Inter,sans-serif;font-size:0.56rem;color:var(--text3);flex:1;outline:none;border-bottom:1px solid transparent;cursor:text;}
.isa-acc-lbl-edit:focus{border-bottom-color:var(--accent);color:var(--text);}
.tab-btn.debt-hidden{display:none;}
.acc-mobile-card-row{display:none;}
.acc-mobile-tags-row{display:none;}
.acc-mobile-spark{display:none;}
.acts{display:none;}
.acc-mcr-right{display:flex;flex-direction:column;align-items:flex-end;}
.ht{width:100%;border-collapse:collapse;}
.ht th{font-family:Inter,sans-serif;font-size:0.55rem;color:var(--text3);letter-spacing:0.07em;text-transform:uppercase;padding:0.35rem 0.55rem;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;}
.ht th:not(:first-child){text-align:right;}
.ht td{font-family:Inter,sans-serif;font-size:0.73rem;padding:0.4rem 0.55rem;border-bottom:0.5px solid var(--border);vertical-align:middle;color:var(--text2);}
.ht tr:last-child td{border-bottom:none;}
.ht .ht-edit{outline:none;border-bottom:1px solid transparent;cursor:text;display:inline-block;font-family:Inter,sans-serif;}
.ht .ht-edit:focus{border-bottom-color:var(--accent) !important;}
.inv-cash-val:focus{border-bottom-color:var(--accent) !important;}
.ht-date-inp{font-family:Inter,sans-serif;font-size:0.63rem;background:transparent;border:0.5px solid var(--border);border-radius:4px;color:var(--text2);padding:2px 4px;width:auto;max-width:116px;}
.ht-date-inp:focus{outline:none;border-color:var(--accent);}
