*{box-sizing:border-box}body{margin:0;background:#f4f6fa;color:#202938;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:15px}.topbar{background:#17243b;color:white;padding:15px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.brand{font-size:19px;font-weight:750;color:white;text-decoration:none}.topbar nav{display:flex;gap:16px;flex-wrap:wrap}.topbar nav a{color:#dce5f4;text-decoration:none;font-size:14px}.topbar nav a:hover{color:white}.container{max-width:1200px;margin:28px auto;padding:0 22px;min-height:75vh}h1{font-size:28px;margin:0 0 6px}h2{font-size:18px;margin:0 0 16px}p{line-height:1.5}.muted,small{color:#718096}.small{font-size:12px;line-height:1.6}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;flex-wrap:wrap}.page-head p{margin:0}.panel,.stat,.login-card{background:white;border:1px solid #e3e8f0;border-radius:14px;padding:22px;box-shadow:0 4px 14px #1d2c4408;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.stat span{display:block;color:#718096;font-size:13px;margin-bottom:10px}.stat strong{font-size:27px;letter-spacing:-.5px}.grid{display:grid;gap:20px}.two{grid-template-columns:1fr 1fr}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.panel-head h2{margin:0}.panel-head a,a{color:#2359a8;text-decoration:none}.bar-row{margin:15px 0}.bar-label{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:7px}.bar{height:8px;background:#edf1f7;border-radius:9px;overflow:hidden}.bar i{display:block;height:100%;background:#4677d5;border-radius:9px}.category-row,.member-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #edf0f5}.category-row:last-child,.member-row:last-child{border-bottom:0}.category-row small,.member-row small{display:block;margin-top:4px}.delivery{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#eef5ff;border-color:#d5e5ff}.delivery h2{margin-bottom:5px}.delivery p{margin:0;max-width:760px}.button,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:11px 16px;background:#2459a8;color:white;font:inherit;font-weight:650;cursor:pointer;text-decoration:none;white-space:nowrap}.button:hover,button:hover{filter:brightness(.95)}.secondary{background:#edf1f7;color:#25334a}.danger{background:#fff0f0;color:#b42318}.small-btn{font-size:12px;padding:7px 10px}.month-form,.filter-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.month-form label{margin:0}.filter-row{margin-bottom:18px}.filter-row label{max-width:180px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650;color:#364257}input,select,textarea{width:100%;border:1px solid #d7deea;border-radius:8px;padding:11px 12px;font:inherit;color:#202938;background:white;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #bfd5ff;border-color:#4e80d6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;gap:10px}.stack-form{display:flex;flex-direction:column;gap:15px}.stack-form small{font-weight:400}.table-wrap{width:100%;overflow-x: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 #edf0f5;vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#65728a;background:#fafbfd}td small{display:block;margin-top:4px;white-space:normal}.right{text-align:right}.flash{padding:12px 15px;border-radius:8px;margin-bottom:16px}.flash.success{background:#e9f8ef;color:#17663a}.flash.error{background:#fff0f0;color:#a32323}.login-card{max-width:420px;margin:7vh auto;padding:30px}.login-card h1{font-size:25px}.login-card form{display:flex;flex-direction:column;gap:16px;margin:24px 0}.narrow{max-width:520px}footer{text-align:center;padding:22px;color:#7c8798;font-size:12px}@media(max-width:760px){.container{padding:0 14px;margin:18px auto}.stats{grid-template-columns:1fr}.two{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.delivery{align-items:flex-start;flex-direction:column}.topbar{padding:14px 18px}.topbar nav{gap:12px}.stat strong{font-size:24px}.page-head{align-items:flex-start}}
.mobile-expense-form{gap:14px;padding:18px}.mobile-expense-form input,.mobile-expense-form select{min-height:46px;font-size:16px}.mobile-expense-form .amount-field input{font-size:22px;font-weight:700}.optional-fields{grid-column:1/-1;border:1px solid #e2e7ef;border-radius:9px;padding:12px}.optional-fields summary{font-weight:700;cursor:pointer;padding:3px}.optional-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.optional-grid .full{grid-column:1/-1}@media(max-width:760px){.mobile-expense-form{grid-template-columns:1fr;gap:13px;padding:15px}.mobile-expense-form .full,.optional-grid .full{grid-column:1}.mobile-expense-form .amount-field{order:1}.optional-grid{grid-template-columns:1fr}.form-actions{position:sticky;bottom:0;background:white;padding:10px 0;z-index:2}.form-actions button{flex:1;min-height:48px}}
