:root { --cb-blue:#17395f; --cb-blue-2:#245b8e; --cb-bg:#f2f6fa; --cb-border:#d7e0e8; --cb-text:#18212b; }
html,body{min-height:100%;background:var(--cb-bg);color:var(--cb-text)}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.app-shell{max-width:900px;margin:0 auto;min-height:100vh;background:#fff;box-shadow:0 0 30px rgba(20,45,70,.08)}
.app-header{background:linear-gradient(135deg,var(--cb-blue),var(--cb-blue-2));color:#fff;padding:1rem 1rem .9rem;position:sticky;top:0;z-index:1020}
.app-title{font-size:1.15rem;font-weight:800;letter-spacing:.01em;margin:0}.app-subtitle{font-size:.82rem;opacity:.84;margin:0}
.app-main{padding:1rem 1rem 5.5rem}.card{border-color:var(--cb-border);border-radius:1rem;box-shadow:0 3px 14px rgba(18,52,77,.05)}
.account-row{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:inherit;padding:.9rem .95rem;border-bottom:1px solid #edf1f4}.account-row:last-child{border-bottom:0}.account-row:active{background:#f4f7fa}
.account-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e8f1fa;color:var(--cb-blue-2);font-size:1.05rem}.account-name{font-weight:700;line-height:1.15}.account-type{font-size:.78rem;color:#6c757d}.account-balance{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums}.group-title{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#65727d;margin:.2rem 0 .45rem .2rem}
.balance-card{background:linear-gradient(135deg,#f7fbff,#edf5fc);border:1px solid #d4e4f2;border-radius:1rem;padding:1rem}.balance-label{font-size:.78rem;color:#617181;text-transform:uppercase;letter-spacing:.06em}.balance-value{font-size:2rem;font-weight:850;letter-spacing:-.03em}
.btn{border-radius:.75rem;font-weight:650}.btn-lg{padding:.78rem 1rem}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.transaction-card{border-bottom:1px solid #edf1f4;padding:.85rem 0}.transaction-card:last-child{border-bottom:0}.tx-desc{font-weight:650}.tx-meta{font-size:.78rem;color:#74808a}.tx-amount{font-weight:800;font-variant-numeric:tabular-nums}.tx-balance{font-size:.78rem;color:#74808a}.deposit{color:#167546}.withdrawal{color:#a22626}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(900px,100%);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--cb-border);display:grid;grid-template-columns:repeat(4,1fr);z-index:1030}.bottom-nav a{padding:.65rem .25rem .55rem;text-align:center;color:#65727d;text-decoration:none;font-size:.72rem}.bottom-nav i{display:block;font-size:1.05rem;margin-bottom:.15rem}.bottom-nav a.active{color:var(--cb-blue-2);font-weight:700}
.form-control,.form-select{border-radius:.75rem;border-color:#cfd9e2;padding:.7rem .8rem}.form-label{font-size:.83rem;font-weight:700}.table{font-size:.9rem}.badge{border-radius:999px}.search-panel{border-radius:1rem;background:#f7f9fb;padding:.8rem}.page-link{border-radius:.6rem!important;margin:0 .15rem}.empty-state{text-align:center;padding:2.5rem 1rem;color:#74808a}.empty-state i{font-size:2rem;margin-bottom:.7rem}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(160deg,#eaf3fb,#f7fafc)}.login-card{width:min(430px,100%);border:0;border-radius:1.2rem;box-shadow:0 20px 50px rgba(18,52,77,.12)}
@media(min-width:700px){.app-main{padding:1.4rem 1.5rem 5.5rem}.app-header{padding-left:1.5rem;padding-right:1.5rem}.transaction-list-desktop{display:block}.balance-value{font-size:2.35rem}}
