:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#183247;background:#f4f7f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:0;border-radius:9px;background:#17658b;color:#fff;padding:11px 16px;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover{filter:brightness(.96)}.secondary,.icon-btn{background:#e9f0f4;color:#24485f}.icon-btn{padding:9px}.app header{background:#173b55;color:#fff;padding:16px max(20px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:12px}.brand small{display:block;color:#c8d8e2;font-size:12px;margin-top:3px}.user{display:flex;align-items:center;gap:12px;font-size:13px}nav{display:flex;gap:8px;padding:12px max(20px,calc((100% - 1180px)/2));background:#fff;border-bottom:1px solid #e0e8ed;flex-wrap:wrap}nav button{background:transparent;color:#36566a}nav button.active{background:#e7f1f6;color:#145c7f}.app main{max-width:1180px;margin:28px auto;padding:0 20px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.heading h1{margin:0;font-size:26px}.heading p{margin:5px 0;color:#6b7f8c;font-size:14px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.stat,.card{background:#fff;border:1px solid #e1e9ee;border-radius:14px;padding:20px;box-shadow:0 3px 12px #173b5508}.stat small{display:block;color:#687d89;margin-bottom:10px}.stat strong{font-size:25px}.income strong,.green{color:#16834a}.expense strong,.red{color:#c43d3d}.balance strong{color:#17658b}.card h2{margin:0 0 16px;font-size:18px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #edf1f4}th{color:#607583;font-weight:650}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.login label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650;color:#405b6c}.form-grid input,.form-grid select,.form-grid textarea,.login input{width:100%;border:1px solid #d6e0e6;border-radius:8px;padding:11px;background:#fff;color:#183247}.full{grid-column:1/-1}.check{display:flex!important;flex-direction:row!important;align-items:center;margin-bottom:12px}.check input{width:auto}.login-wrap,.setup{min-height:100vh;display:grid;place-items:center;padding:20px}.login{width:min(100%,420px);display:grid;gap:16px}.login h1{margin:4px 0}.login button{width:100%}.muted{color:#728491;font-size:13px}.error,.error-box{color:#a52b2b;background:#fff0f0;border:1px solid #f1cccc;padding:10px;border-radius:8px;font-size:13px}.error-box{margin-bottom:16px}.setup .card{max-width:540px;padding:28px}.setup h2{margin-top:0}footer{text-align:center;color:#83939c;font-size:12px;padding:28px}@media(max-width:700px){.app header{align-items:flex-start;flex-direction:column}.stats,.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.heading{align-items:flex-start}.heading h1{font-size:22px}.user{width:100%;justify-content:space-between}.app main{margin-top:20px}nav button{flex:1;font-size:12px;padding:10px 8px}}.contribution-filter{display:flex;align-items:flex-end;gap:20px;margin-bottom:16px;flex-wrap:wrap}.contribution-filter label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650;color:#405b6c;min-width:210px}.contribution-filter input{border:1px solid #d6e0e6;border-radius:8px;padding:11px;background:#fff;color:#183247}.contribution-filter p{margin:0;flex:1;min-width:260px}.contribution-stats{margin-top:16px}.card tfoot th{border-top:2px solid #dfe8ed;color:#183247}.people-form{margin-bottom:16px}.people-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.people-toolbar h2{margin:0}.search-field{display:flex;align-items:center;gap:8px;border:1px solid #d6e0e6;border-radius:8px;padding:8px 10px;color:#607583}.search-field input{border:0;outline:0;min-width:220px}.action-row,.action-cell{display:flex;gap:8px;align-items:center}.small-btn{padding:7px 9px}
