:root{font-family:Inter,Montserrat,system-ui,-apple-system,sans-serif;color:#17213a;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}.shell{max-width:1120px;margin:auto;padding:20px}header{display:flex;align-items:center;justify-content:space-between;padding:14px 0 30px}.brand{font-size:21px;font-weight:800;color:#192a56}.brand span{color:#8073d8}h1{font-size:30px;margin:4px 0 12px}h2{font-size:18px;margin:0 0 20px}p{color:#64718a;line-height:1.5}.panel,.stat{background:white;border:1px solid #e8ebf2;border-radius:18px;padding:26px;box-shadow:0 6px 25px #1b29500a}.panel{margin-bottom:18px}#setup,#login{max-width:480px;margin:30px auto}label{display:block;font-size:13px;font-weight:700;color:#47546d;margin-bottom:16px}input,select{display:block;width:100%;padding:12px;border:1px solid #d9deea;border-radius:10px;margin-top:7px;font:inherit;background:white;color:#17213a}button{background:#6657c9;color:white;border:0;border-radius:10px;padding:12px 19px;font-weight:700;cursor:pointer}button:hover{filter:brightness(.95)}button:disabled{opacity:.6;cursor:wait}.secondary{background:#edf0f8;color:#253350}.link{background:none;color:#6657c9;padding-left:0}.hidden{display:none!important}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:800;color:#8073d8}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.stat span{display:block;color:#66728a;font-size:13px}.stat strong{display:block;font-size:27px;margin-top:12px}.layout{display:grid;grid-template-columns:1fr 1.3fr;gap:18px}.transactions .item,.item{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #edf0f5}.item:last-child{border:0}.item small{display:block;color:#8490a3;margin-top:4px}.positive{color:#1c966e}.negative{color:#c64c63}#message{min-height:24px;font-size:14px}footer{text-align:center;font-size:12px;color:#8b96aa;padding:25px}@media(max-width:720px){.shell{padding:14px}.stats,.layout{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:18px}.stat strong{font-size:23px}.panel{padding:20px}h1{font-size:25px}}
.version{font-size:11px;color:#8073d8;font-weight:700;white-space:nowrap;margin-left:5px}.update-banner{position:sticky;top:0;z-index:20;background:#242044;color:white;padding:12px 20px;display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;font-size:14px}.update-banner button{background:#fff;color:#242044}.account-form{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end;margin-top:20px}.account-form label{margin-bottom:0}.account-form button{margin-bottom:0}@media(max-width:720px){.account-form{grid-template-columns:1fr}.brand{font-size:18px}.update-banner{font-size:13px}}

/* v1.1.0: Responsive layouts and installable PWA */
html{scroll-behavior:smooth}body{min-width:320px}button,input,select{touch-action:manipulation}button{min-height:44px}.header-actions{display:flex;gap:8px;align-items:center}.mobile-nav{display:none}.shell{padding-bottom:32px}.panel,.stat{min-width:0}#transactions,.item{overflow-wrap:anywhere}.heading{flex-wrap:wrap}
@media(min-width:721px) and (max-width:1024px){.shell{max-width:960px;padding:22px}.layout{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{padding:20px}.account-form{grid-template-columns:1fr 1fr}.account-form button{grid-column:1/-1}}
@media(max-width:720px){.shell{padding:12px 14px 86px}header{padding:10px 0 18px}.header-actions button{padding:9px 11px;font-size:12px}.heading{align-items:flex-start}.heading button{padding:10px 12px}.stats{grid-template-columns:1fr;gap:10px}.stat{display:flex;justify-content:space-between;align-items:center;gap:12px}.stat strong{margin-top:0;white-space:nowrap;font-size:22px}.layout{display:block}.layout .panel{margin-bottom:14px}.panel{padding:18px;border-radius:15px}.mobile-nav:not(.hidden){display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;border-top:1px solid #e5e7f1;padding:10px max(10px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));justify-content:space-around;gap:4px;box-shadow:0 -6px 22px #1b295018}.mobile-nav a{text-decoration:none;color:#5848b7;font-size:12px;font-weight:700;text-align:center;padding:8px 4px;min-width:60px}.update-banner{padding:10px}.update-banner button{width:100%;max-width:240px}input,select{font-size:16px}footer{padding-bottom:18px}}
@media(min-width:721px){.mobile-nav{display:none!important}}

/* Desktop: full available viewport width */
@media(min-width:1025px){.shell{max-width:none;width:100%;margin:0;padding:20px clamp(20px,2vw,40px) 36px}.layout{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
