*{box-sizing:border-box}body{color:#222;background:#f5f5f5;margin:0;font-family:system-ui,-apple-system,Hiragino Sans,sans-serif}.app-shell header{color:#fff;background:#2f6f4f;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;display:flex}.app-shell header h1{margin:0;font-size:1.2rem}.app-shell nav{gap:1rem;display:flex}.app-shell nav a{color:#fff;opacity:.85;text-decoration:none}.app-shell nav a.active{opacity:1;font-weight:700;text-decoration:underline}.user-info{align-items:center;gap:.75rem;margin-left:auto;display:flex}main{max-width:1100px;margin:0 auto;padding:1.5rem}.auth-page{background:#fff;border-radius:8px;max-width:400px;margin:4rem auto;padding:2rem;box-shadow:0 1px 4px #0000001a}.auth-page form,.entry-form{flex-direction:column;gap:.75rem;display:flex}.auth-page label,.entry-form label{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}input,select,button{padding:.5rem;font-size:1rem}.entry-tabs{gap:.5rem;margin-bottom:1rem;display:flex}.entry-tabs button{cursor:pointer;background:#eee;border:1px solid #ccc;border-radius:4px}.entry-tabs button.active{color:#fff;background:#2f6f4f}.entry-form{background:#fff;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:grid}.inline-form{gap:.5rem;margin-top:.5rem;display:flex}.ledger-table{border-collapse:collapse;background:#fff;width:100%}.ledger-table th,.ledger-table td{text-align:left;border-bottom:1px solid #ddd;padding:.5rem;font-size:.9rem}.ledger-table .num{text-align:right;font-variant-numeric:tabular-nums}.error{color:#c0392b}
