:root{--ink:#243447;--brand:#315c9b;--soft:#f4f7fb;--line:#c9d2df}*{box-sizing:border-box}body{font-family:Poppins,Arial,sans-serif;font-size:16px;line-height:1.55;color:var(--ink);background:var(--soft);padding-bottom:78px}.navbar{background:#fff;padding:12px 5%;box-shadow:0 1px 8px #0001;display:flex;align-items:center;gap:24px}.brand{font-size:24px;font-weight:700;color:var(--brand);text-decoration:none}.desktop-links{display:none;align-items:center}.desktop-links a,.link-button{color:var(--ink);text-decoration:none;white-space:nowrap}.desktop-links a{margin-right:18px}.link-button{border:0;background:transparent;padding:8px;font:inherit;cursor:pointer}.logout-form{margin-left:auto}.hero,.auth-box,.card{background:#fff;border-radius:18px;padding:24px;box-shadow:0 3px 16px #20304a12}.hero{margin:7vh auto 0;text-align:center;max-width:720px}.hero h1{font-size:44px;color:var(--brand);margin:8px 0}.hero p{font-size:19px}.eyebrow,.muted,small{color:#5d6a7a}.hero-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:26px 0}.benefits{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;color:#315c9b}.auth-box{max-width:560px;margin:4vh auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.page-heading h1{margin:0}h1{font-size:28px;margin-bottom:10px}h2{font-size:21px;margin:0 0 10px}.btn{min-height:52px;padding:12px 18px;border-radius:12px;font-weight:600;margin:4px}.btn-sm{min-height:42px;padding:8px 12px;font-size:14px}.summary-grid{display:grid;grid-template-columns:1fr;gap:12px}.money{min-height:120px}.money span,.money small{display:block}.money strong{display:block;font-size:24px;margin:5px 0}.income{border-left:6px solid #198754}.expense{border-left:6px solid #dc3545}.balance{border-left:6px solid #315c9b}.actions{display:flex;flex-wrap:wrap;margin:22px -4px}.actions .btn{flex:1;min-width:210px}.section-card{height:100%}.simple-list{list-style:none;padding:0;margin:15px 0}.simple-list li{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #e4e8ef}.goal-mini{display:grid;grid-template-columns:1fr auto;gap:4px;margin:16px 0}.goal-mini span{font-size:14px;color:#5d6a7a}.progress{height:12px;background:#e4e8ef;border-radius:10px;grid-column:1/-1;overflow:hidden}.progress div{height:100%;background:#315c9b;border-radius:10px}.form label,label{display:block;font-weight:600;margin:14px 0}.form input,.form select,input,select,textarea{display:block;width:100%;min-height:52px;margin-top:7px;padding:12px;border:2px solid var(--line);border-radius:10px;font:inherit;background:#fff}textarea{min-height:100px}.item{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:10px 0}.item>div:first-child{display:flex;flex-direction:column}.item span{color:#5d6a7a;font-size:14px}.item b{white-space:nowrap}.item-actions{display:flex;gap:4px}.tip-card{height:100%}.tip-card h2{color:var(--brand)}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-grid a{display:block;padding:14px;background:var(--soft);border-radius:12px;color:var(--ink);text-decoration:none}.menu-grid i{color:var(--brand);margin-right:6px}.modal-content{border:0;border-radius:18px}.modal-header,.modal-footer{padding:18px 22px}.modal-body{padding:4px 22px 18px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;display:flex;justify-content:space-around;padding:7px 3px;box-shadow:0 -2px 10px #0002;z-index:5}.mobile-nav a{color:var(--brand);text-align:center;text-decoration:none;font-size:21px;min-width:54px}.mobile-nav small{display:block;font-size:10px}.alert{border-radius:12px;font-size:16px}@media(min-width:576px){.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}@media(min-width:768px){.desktop-links{display:flex}.mobile-nav{display:none}body{padding-bottom:0}.container{max-width:1080px}.hero{margin-top:12vh}}@media(max-width:480px){.page-heading{display:block}.page-heading .btn{width:100%;margin:12px 0 0}.item{align-items:flex-start;flex-wrap:wrap}.item b{margin-left:auto}.item-actions{width:100%}.item-actions .btn{flex:1}}
