
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111827;background:#f4f6f8}
*{box-sizing:border-box}body{margin:0}.hidden{display:none!important}.muted{color:#6b7280}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#8a94a3;margin:0 0 5px}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#f5f7f9,#e9eef2)}
.login-card{width:min(420px,100%);background:white;border-radius:24px;padding:36px;box-shadow:0 20px 55px rgba(17,24,39,.09)}
.brand-mark{width:52px;height:52px;border-radius:16px;background:#111827;color:#fff;display:grid;place-items:center;font-size:26px;font-weight:800;margin-bottom:18px}
.brand-mark.small{width:36px;height:36px;border-radius:11px;font-size:18px;margin:0}.login-card h1{margin:0 0 6px;font-size:28px}.login-card form{display:grid;gap:16px;margin-top:28px}
label{font-size:13px;font-weight:700;color:#374151}input{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d9dee5;border-radius:12px;font:inherit;outline:none}input:focus{border-color:#111827}
button{font:inherit;border:0;cursor:pointer}.primary{padding:14px;border-radius:12px;background:#111827;color:#fff;font-weight:800}.error{color:#b91c1c;font-size:13px;min-height:18px}
.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#111827;color:#fff;padding:26px 18px;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:12px;margin-bottom:36px}
.sidebar nav{display:grid;gap:8px}.nav,.logout{padding:12px 14px;border-radius:11px;text-align:left;background:transparent;color:#aeb7c4}.nav.active{background:#222c3a;color:#fff}.nav.disabled{opacity:.55}.logout{margin-top:auto}
.content{margin-left:240px;padding:38px;max-width:1350px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}header h2{font-size:30px;margin:0}.badge,.pill{background:#e8edf1;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}
.balance-card{background:#111827;color:#fff;border-radius:20px;padding:25px 28px;display:flex;justify-content:space-between;align-items:center}.balance-card span{display:block;color:#b9c0ca;font-size:13px}.balance-card strong{display:block;font-size:32px;margin-top:5px}.balance-card .pill{color:#fff;background:#263141}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0}.stats article,.panel{background:#fff;border:1px solid #e6e9ed;border-radius:18px;padding:22px}.stats span,.stats small{display:block;color:#737d8c}.stats strong{font-size:23px;display:block;margin:8px 0}.positive{color:#15803d}
.panel{margin-top:16px}.panel-title h3{margin:0}.groups{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.group{padding:18px;border:1px solid #e7eaee;border-radius:15px}.group-icon{width:42px;height:42px;border-radius:13px;background:#eef1f4;display:grid;place-items:center;margin-bottom:12px;font-size:20px}.group strong,.group span{display:block}.group span{font-size:13px;color:#7a8492;margin-top:3px}
.empty{text-align:center;padding:34px 10px;color:#697382}.empty strong,.empty span{display:block}.empty-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eef3ef;color:#15803d;margin:0 auto 10px}
.mobile-nav{display:none}.toast{position:fixed;top:20px;right:20px;background:#111827;color:white;padding:12px 16px;border-radius:10px;z-index:20;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1}
@media(max-width:760px){.sidebar{display:none}.content{margin:0;padding:24px 18px 100px}.content header h2{font-size:26px}.stats{grid-template-columns:1fr}.groups{grid-template-columns:1fr}.balance-card strong{font-size:28px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:72px;background:#fff;border-top:1px solid #e2e6ea;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{background:none;color:#7b8490;display:flex;flex-direction:column;gap:3px;align-items:center;font-size:18px}.mobile-nav button span{font-size:10px}.mobile-nav .active{color:#111827}.mobile-nav .add{width:52px;height:52px;border-radius:50%;background:#111827;color:#fff;font-size:28px;justify-content:center;transform:translateY(-12px)}}

.compact{padding:11px 16px}.secondary{padding:12px 16px;border-radius:12px;background:#eef1f4;color:#1f2937;font-weight:800}
.account-list{display:grid;gap:12px;margin-top:18px}.account-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid #e5e9ee;border-radius:15px}
.account-main{display:flex;align-items:center;gap:14px}.account-icon{width:46px;height:46px;border-radius:14px;background:#eef1f4;display:grid;place-items:center;font-size:20px}.account-main strong,.account-main span{display:block}.account-main span{font-size:13px;color:#737d8c;margin-top:3px}.account-value{text-align:right}.account-value strong,.account-value small{display:block}.account-value small{color:#8a94a3;margin-top:4px}.account-actions{display:flex;gap:7px;margin-top:8px;justify-content:flex-end}.mini-btn{background:#f0f2f5;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:700;color:#4b5563}
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55)}.modal-card{position:relative;width:min(600px,100%);background:#fff;border-radius:20px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.22)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.modal-head h3{margin:0;font-size:23px}.icon-btn{background:#eef1f4;width:36px;height:36px;border-radius:50%;font-size:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.form-grid .full{grid-column:1/-1}select{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d9dee5;border-radius:12px;background:#fff;font:inherit}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.account-summary{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.form-grid{grid-template-columns:1fr}.account-card{align-items:flex-start}.account-value{min-width:105px}.account-summary{grid-template-columns:1fr 1fr}.modal-card{max-height:90vh;overflow:auto}.compact{font-size:13px}}

.card-visual{min-width:220px;background:#111827;color:white;border-radius:16px;padding:18px}
.card-visual span,.card-visual small{display:block;color:#b9c0ca}.card-visual strong{display:block;font-size:18px;margin:8px 0 16px}
.card-meta{display:flex;gap:18px}.card-meta div{font-size:12px}.card-meta b{display:block;color:#fff;margin-top:2px}
@media(max-width:760px){.card-visual{min-width:160px}.account-card.card-row{flex-direction:column}.account-card.card-row .account-value{width:100%;text-align:left}.account-card.card-row .account-actions{justify-content:flex-start}}

.filterbar{display:flex;gap:10px;margin-bottom:16px}.filterbar select{width:auto;min-width:180px;margin:0}
textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d9dee5;border-radius:12px;font:inherit;resize:vertical}
.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tx-card{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:18px;padding:16px 4px;border-bottom:1px solid #edf0f3}.tx-card:last-child{border-bottom:0}.tx-date{color:#7b8490;font-size:13px}.tx-info strong,.tx-info span{display:block}.tx-info span{color:#7b8490;font-size:13px;margin-top:3px}.tx-amount{text-align:right;font-weight:800}.tx-amount.income{color:#15803d}.tx-amount.expense{color:#111827}.tx-actions{margin-top:6px}
@media(max-width:760px){.filterbar{overflow:auto}.filterbar select{min-width:155px}.tx-card{grid-template-columns:70px 1fr auto;gap:10px}.inline-fields{grid-template-columns:1fr}.tx-amount{font-size:14px}}
