/* SHINI v4.1 enhancement surfaces */
.v41-tx-filterbar{margin:0 0 14px;padding:14px;border:1px solid var(--edge);border-radius:14px;background:color-mix(in srgb,var(--surface) 82%,transparent)}
.v41-filter-top,.v41-filter-groups,.v41-mini-actions,.v41-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.v41-filter-top{justify-content:space-between}.v41-search{display:grid;gap:6px;min-width:min(360px,100%);flex:1}.v41-search input{width:100%}.v41-filter-groups{margin-top:12px}.v41-filter-group{position:relative;border:1px solid var(--edge);border-radius:10px;background:var(--raised);min-width:150px}.v41-filter-group summary{cursor:pointer;padding:9px 11px;font-weight:700;list-style:none}.v41-filter-group summary::-webkit-details-marker{display:none}.v41-filter-group[open] .v41-checklist{display:grid}.v41-checklist{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:260px;max-height:320px;overflow:auto;padding:10px;border:1px solid var(--edge);border-radius:12px;background:var(--surface);box-shadow:0 16px 45px #0007;display:none}.v41-checklist label{display:flex;gap:9px;align-items:center;padding:7px 5px}.v41-checklist input{width:auto}.v41-mini-actions{padding:0 0 8px;border-bottom:1px solid var(--edge);margin-bottom:4px}.v41-mini-actions button{font:inherit;background:transparent;border:0;color:var(--gold);cursor:pointer;padding:4px 6px}.v41-filter-summary{margin-top:12px;color:var(--text2);font-size:.9rem}.v41-filter-summary b{color:var(--text);font-weight:700}
.v41-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;margin-left:6px;border-radius:999px;background:var(--gold);color:#111;font-size:.72rem;font-weight:900}.v41-page{display:grid;gap:14px}.v41-bars{display:grid;gap:10px;padding:4px 0}.v41-bar-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(120px,2.2fr) auto;gap:10px;align-items:center;font-size:.88rem}.v41-bar-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v41-bar-track{height:9px;border-radius:999px;background:var(--raised);overflow:hidden}.v41-bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),color-mix(in srgb,var(--gold) 58%,var(--text)))}.v41-chart{overflow:auto}.v41-chart svg{width:100%;min-width:520px;height:auto}.v41-chart line{stroke:var(--edge);stroke-width:1}.v41-chart polyline{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.v41-chart polyline.income{stroke:var(--gold)}.v41-chart polyline.outgo{stroke:var(--text2)}.v41-chart text{fill:var(--text2);font-size:11px}.v41-legend{justify-content:flex-end;font-size:.8rem;color:var(--text2)}.v41-legend span{display:flex;align-items:center;gap:6px}.v41-legend i{width:20px;height:3px;border-radius:3px}.v41-legend i.income{background:var(--gold)}.v41-legend i.outgo{background:var(--text2)}
.v41-debt-ext,.v41-recurring-ext,.v41-diagnostics{display:grid;gap:14px;margin-top:14px}.v41-file-label{position:relative;overflow:hidden}.v41-file-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.v41-loan-grid{display:grid;gap:10px}.v41-loan-card{border:1px solid var(--edge);border-radius:12px;background:var(--raised);overflow:hidden}.v41-loan-card[data-archived="1"]{opacity:.65}.v41-loan-card summary{cursor:pointer;padding:12px 14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.v41-loan-card summary span:first-child{display:grid;gap:2px}.v41-loan-card summary small{color:var(--text2)}.v41-loan-card .v41-loan-form{padding:14px;border-top:1px solid var(--edge)}.v41-loan-kpis{padding:0 14px 12px}.v41-loan-kpis>div,.v41-audit-kpis>div{padding:10px;border:1px solid var(--edge);border-radius:10px;background:color-mix(in srgb,var(--surface) 70%,transparent);display:grid;gap:3px}.v41-loan-kpis small,.v41-audit-kpis small{color:var(--text2)}.v41-loan-form,.v41-recurring-form{display:grid;gap:12px}.v41-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.v41-check input{width:auto!important}.v41-loan-form textarea{width:100%;resize:vertical}
.v41-alert-list,.v41-audit-list{display:grid;gap:9px}.v41-alert,.v41-audit{display:grid;gap:3px;padding:11px 12px;border:1px solid var(--edge);border-radius:11px;background:var(--raised)}.v41-alert span,.v41-audit span{color:var(--text2);font-size:.88rem}.v41-alert.danger,.v41-audit.fail{border-color:color-mix(in srgb,#e66 65%,var(--edge));box-shadow:inset 3px 0 #e66}.v41-alert.warn,.v41-audit.warn{border-color:color-mix(in srgb,#e7b64d 60%,var(--edge));box-shadow:inset 3px 0 #e7b64d}.v41-audit.pass{box-shadow:inset 3px 0 color-mix(in srgb,var(--gold) 75%,#7f8)}.v41-audit-kpis{margin-bottom:12px}
@media(max-width:760px){.v41-filter-top{display:grid;grid-template-columns:1fr}.v41-filter-groups{display:grid;grid-template-columns:1fr 1fr}.v41-filter-group{min-width:0}.v41-checklist{position:fixed;left:12px;right:12px;top:auto;bottom:88px;min-width:0;max-height:55vh}.v41-bar-row{grid-template-columns:minmax(90px,1fr) 1.5fr auto}.v41-loan-card summary{align-items:flex-start;flex-direction:column}}
