:root{font-family:system-ui,sans-serif;color:#15312d;background:#f3f6f4;line-height:1.5;--green:#176554;--line:#d8e3dd;--muted:#536b64}
*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}h1,h2,h3,p{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:.55rem;background:var(--green);color:white;padding:.58rem .9rem;font-weight:650}button:hover{filter:brightness(.93)}:focus-visible{outline:3px solid #d89035;outline-offset:3px}.outline{background:white;color:var(--green);border-color:var(--line)}.wrap{width:min(1130px,calc(100% - 2rem));margin:auto}.top{background:#102d2a;color:white}.brand{display:flex;align-items:center;gap:.75rem;height:4.4rem;font-size:1.23rem;font-weight:700}.brand small{display:block;color:#a9ccc0;font-size:.62rem;letter-spacing:.12em}.brand button{margin-left:auto}.mark{display:grid;place-items:center;width:2.45rem;height:2.45rem;background:#c6ebd9;color:#123c30;border-radius:.7rem}.hero{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding:2.2rem 0 1.3rem}.hero p,.muted{color:var(--muted)}.hero .eyebrow{font-size:.72rem;color:var(--green);letter-spacing:.13em;font-weight:800}.hero h1{font-size:clamp(1.65rem,4vw,2.5rem);line-height:1.15;margin:.25rem 0 .45rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.metric,.panel{border:1px solid var(--line);border-radius:.9rem;background:white}.metric{padding:1rem;overflow-wrap:anywhere}.metric strong{display:block;font-size:clamp(1rem,2.6vw,1.65rem);margin-top:.15rem}.metric:first-child{background:#e4f3eb;border-color:#cde7d9}.metric span{font-size:.85rem;color:var(--muted)}nav{display:flex;gap:.35rem;flex-wrap:wrap;margin:1.3rem 0 0;border-bottom:1px solid var(--line)}nav button{background:none;color:var(--muted);border-radius:0;border-bottom:3px solid transparent}nav button[aria-current]{color:var(--green);border-bottom-color:var(--green)}#notice{margin:.65rem 0;color:var(--green)}#notice:empty{margin:0}.panel{padding:1rem;margin:1rem 0 2rem}.toolbar,.actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.toolbar{justify-content:space-between;margin-bottom:.9rem}.toolbar h2{font-size:1.25rem}.table{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.9rem}th,td{padding:.72rem .65rem;border-bottom:1px solid #e9eeeb;vertical-align:top}th{background:#f5f8f6;color:var(--muted);font-size:.8rem;white-space:nowrap}td.amount{white-space:nowrap}.badge{display:inline-block;padding:.18rem .55rem;border-radius:1rem;background:#e3f1eb;color:#215846;font-size:.78rem;white-space:nowrap}.badge.late{background:#fdebe4;color:#943523}.empty{padding:2rem .5rem;text-align:center;color:var(--muted)}label{display:grid;gap:.28rem;font-weight:600;font-size:.9rem}input,select{min-width:0;width:100%;border:1px solid #b9ccc3;border-radius:.45rem;padding:.52rem .6rem;background:white;color:#15312d}.actions input,.actions select{width:auto;max-width:100%}dialog{width:min(650px,calc(100% - 2rem));max-height:90dvh;border:1px solid var(--line);border-radius:1rem;padding:1.2rem;color:inherit}dialog::backdrop{background:#0a201db3}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.dialog-head button{font-size:1.1rem;padding:.25rem .65rem}form,.stack{display:grid;gap:.8rem}.fields{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}form button{justify-self:start}#form-error{color:#a33426;margin-top:.6rem}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.data-grid section{border:1px solid var(--line);border-radius:.65rem;padding:1rem;align-content:start}.danger{color:#993e2d}.small{font-size:.85rem}
@media(max-width:650px){.hero{align-items:start;flex-direction:column;padding-top:1.3rem}.metrics,.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.data-grid{grid-template-columns:1fr}nav button{font-size:.81rem;padding:.45rem}.panel{padding:.7rem}th,td{padding:.55rem .45rem}.actions input{width:100%}}
:root{color-scheme:dark;color:#f0f1fa;background:#0c1020;--green:#adaeff;--line:#343950;--muted:#b0b8d0}
body{background:radial-gradient(ellipse at 82% 0,#252b51 0,transparent 49rem),#0c1020;min-height:100dvh}
.top{background:#11172bdc;border-bottom:1px solid #323858}.brand small{color:#bfc2ef}.mark{background:#b7b7ff;color:#171936}
button{background:#adadff;color:#161731;border-radius:.82rem}.outline{background:#252b43;color:#edf0ff;border-color:#434b6a}
.hero .eyebrow{color:#c0bfff}.hero{padding-top:2rem}.hero h1{letter-spacing:-.035em}
.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.panel{background:#171d31;border-color:#343950;border-radius:1.2rem}
.metric:first-child{grid-column:1/-1;min-height:10rem;display:flex;flex-direction:column;justify-content:center;padding:1.2rem 1.5rem;
  background:radial-gradient(ellipse at 95% 0,#504b92 0,transparent 70%),linear-gradient(110deg,#22284b,#25264f);
  border-color:#53518d;position:relative;overflow:hidden}
.metric:first-child:after{content:"";position:absolute;right:-1rem;top:-4rem;width:21rem;height:17rem;border:1px solid #aaa8ff38;border-radius:40%;box-shadow:0 0 0 22px #aaa8ff12,0 0 0 45px #aaa8ff0c;pointer-events:none;transform:rotate(-22deg)}
.metric:first-child strong{font-size:clamp(2.2rem,6vw,3.5rem);line-height:1.12;letter-spacing:-.05em;z-index:1}
.metric span{color:#bbc1da}nav{overflow:auto;flex-wrap:nowrap;scrollbar-width:thin}nav button{white-space:nowrap}
nav button[aria-current]{color:#c8c6ff;border-color:#c8c6ff}
input,select{background:#11172a;color:#f3f3ff;border-color:#444d70}th{background:#202640;color:#d4d9ef}td{border-color:#353b55}
dialog{background:#f7f8fc;color:#1e2540;color-scheme:light;--line:#dde0ed;--muted:#525b73}
dialog .outline{background:#e7e9f5;color:#252957;border-color:#d8dbee}dialog input,dialog select{background:white;color:#1e2540;border-color:#a8aec2}
dialog th{background:#e7e9f5;color:#313951}dialog td{border-color:#dce0e9}
.loan-grid,.client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.empty{grid-column:1/-1}
.loan-card,.client-card,.figures article{background:#20263c;border:1px solid #383e59;border-radius:1rem;padding:.85rem}
.card-head,.client-card,.card-foot{display:flex;align-items:center;gap:.6rem}.card-head>div,.client-card>div:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}
.card-head h3,.client-card h3{font-size:1rem}.client-meta{display:grid;justify-items:end;gap:.3rem}.client-meta button{font-size:.75rem;padding:.3rem .5rem}
.avatar{flex:0 0 2.4rem;height:2.4rem;display:grid;place-items:center;background:#444971;color:#e2e2ff;border-radius:50%;font-size:.85rem;font-weight:800}
.card-values{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.85rem 0}.card-values span,.figures span{display:block;font-size:.8rem;color:var(--muted)}.card-values strong{font-size:1.2rem}
.card-foot{justify-content:space-between;margin-top:.55rem}.card-foot button{font-size:.78rem;padding:.42rem .55rem}
progress{display:block;appearance:none;width:100%;height:.45rem;border:0;border-radius:1rem;background:#3c425f;overflow:hidden}
progress::-webkit-progress-bar{background:#3c425f}progress::-webkit-progress-value{background:linear-gradient(90deg,#a99cff,#60e6bd)}progress::-moz-progress-bar{background:linear-gradient(90deg,#a99cff,#60e6bd)}
.filters{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 .85rem}.chip{border-radius:2rem;background:#252b43;color:#e9e9fd;border-color:#424864;padding:.35rem .65rem;font-size:.82rem}.chip[aria-pressed=true]{background:#d9dcff;color:#232646}
.badge{background:#dcefea;color:#244e47}.badge.late{background:#ffdedc;color:#852c29}.count{font-size:.8rem;background:#383c5d;padding:.15rem .5rem;border-radius:1rem}
.detail-summary{background:linear-gradient(125deg,#272d55,#44417d);color:#fff;padding:.9rem;border-radius:1rem}.detail-summary .card-values span{color:#d8daf5}
.parts,.figures,.quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.part{display:grid;background:#e8eaf5;border-radius:.75rem;padding:.55rem;font-size:.78rem}.part.paga{background:#dcefe6}.part.atrasada{background:#ffdfdf}.part small{font-size:.75rem}
.figures{margin:.6rem 0}.figures strong{font-size:1.08rem;overflow-wrap:anywhere}dialog .figures article{background:#ebeefa;border-color:#dbe0f0}
.quick button{display:grid;justify-items:center;gap:.35rem;min-width:0}.quick b{display:grid;place-items:center;font-size:1.2rem;border-radius:50%;width:2rem;height:2rem;background:#42476f;color:#e2e1ff}
.archive-tools{margin:.7rem 0}.archive-cell{margin:.15rem 0;overflow-wrap:anywhere}.archive-cell b{color:#c8c6ff;font-size:.75rem}
.chart{display:grid;gap:.6rem;margin:.65rem 0 1rem}.chart>div{display:grid;grid-template-columns:5rem 1fr;gap:.15rem .6rem;align-items:center}.chart small{grid-column:2;color:var(--muted)}.bars{display:grid;gap:.2rem}.bars span{width:var(--bar);height:.28rem;background:#79dcba;border-radius:1rem}.bars span+span{background:#b9a9ff}
@media(max-width:650px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:first-child{min-height:8rem}.loan-grid,.client-grid{grid-template-columns:1fr}.hero{flex-direction:row;align-items:end}.hero>button{font-size:.8rem;max-width:8rem;flex:none}.parts,.figures{grid-template-columns:repeat(2,minmax(0,1fr))}.card-values strong{font-size:1.04rem}.panel{border-radius:1rem}.toolbar{align-items:start}}
.equity{border:1px solid #3b4262;background:#20263c;border-radius:.8rem;padding:.7rem}.equity p{display:flex;justify-content:space-between;gap:.5rem}.equity svg{width:100%;max-height:7rem}
.app-shell{display:grid;grid-template-columns:12.75rem minmax(0,1fr);gap:1.4rem;align-items:start}
.sidebar{position:sticky;top:1rem;margin-top:1.6rem;max-height:calc(100dvh - 2rem);overflow:auto}
.app-menu{margin:0;border:0;overflow:visible}
.sidebar .app-menu{display:grid;gap:.85rem;background:#171d31;border:1px solid #343950;border-radius:1.15rem;padding:.75rem}
.nav-group{display:grid;gap:.18rem}
.nav-group+.nav-group{border-top:1px solid #343950;padding-top:.7rem}
.nav-group p{font-size:.65rem;font-weight:750;letter-spacing:.1em;color:var(--muted);padding:.1rem .5rem .25rem}
.app-menu button{border:0;border-radius:.55rem;text-align:left;color:#d5daef}
.app-menu button[aria-current],.mobile-nav .current summary{color:#efedff;background:#3b3d68}
.nav-group button{display:flex;align-items:center;gap:.55rem;padding:.52rem .5rem;font-size:.86rem}
.app-menu button span{font-size:1.12rem;line-height:1}
.nav-group button span{width:1.2rem;text-align:center;color:#b9b6fc}
.mobile-nav{display:none}
@media(max-width:860px){
  .app-shell{display:block}.sidebar{display:none}
  body{padding-bottom:calc(4.4rem + env(safe-area-inset-bottom))}
  .mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.15rem;position:fixed;inset:auto 0 0;z-index:5;padding:.3rem .35rem calc(.3rem + env(safe-area-inset-bottom));background:#141a2d;border-top:1px solid #393f5d}
  .mobile-nav>button,.mobile-nav summary{display:grid;justify-items:center;align-content:center;gap:.28rem;min-height:3.1rem;padding:.28rem .05rem;font-size:clamp(.62rem,2vw,.82rem);font-weight:650;line-height:1.1;text-align:center}
  .mobile-nav summary{cursor:pointer;border-radius:.55rem;list-style:none;color:#d5daef}
  .mobile-nav summary::-webkit-details-marker{display:none}
  .mobile-nav summary span{font-size:1.25rem;line-height:1}
  .mobile-sheet{display:grid;gap:.18rem;position:absolute;right:.5rem;bottom:calc(100% + .45rem);width:min(14rem,calc(100vw - 1rem));padding:.5rem;background:#1b2239;border:1px solid #444b6b;border-radius:.9rem;box-shadow:0 .75rem 2rem #080a16aa}
  .mobile-sheet button{padding:.55rem .65rem}
}
.metric:first-child button{align-self:flex-start;margin-top:.75rem;position:relative;z-index:1}
.brand img.mark{display:block;background:#15100d;object-fit:contain;border:1px solid #80552b}
.reset-section{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.outline.danger{color:#ffb9b1;border-color:#885752}.destructive{background:#a92d26;color:white}
