*{box-sizing:border-box}body{margin:0;background:#f3f5fa;color:#172033;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:1100px;margin:auto;padding:24px 16px 60px}header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}h1{margin:0;font-size:28px}h2{margin:0;font-size:22px}.muted{color:#6b7280}.small{font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0}.card,.panel,.toolbar{background:white;border-radius:24px;padding:24px;box-shadow:0 5px 25px #17203310}.card span{display:block;color:#687386;font-size:18px}.card strong{display:block;font-size:32px;margin-top:18px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar select{min-width:130px}.panel{margin-top:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.primary,.secondary,select,input{font:inherit;border-radius:12px;padding:11px 14px}.primary{border:0;background:#2563eb;color:white}.secondary{border:1px solid #d7dce5;background:white;color:#172033}button{cursor:pointer}select,input{border:1px solid #ccd3df;background:white}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #edf0f4}th{color:#697386;font-size:14px}.income{color:#15803d}.expense{color:#b91c1c}.notice,.status{padding:14px 16px;border-radius:14px;margin:12px 0;background:#fff4d6}.status.error{background:#fee2e2;color:#991b1b}.status.ok{background:#dcfce7;color:#166534}.hidden{display:none}dialog{border:0;border-radius:20px;padding:0;max-width:440px;width:calc(100% - 28px);box-shadow:0 20px 70px #0003}dialog::backdrop{background:#0006}form{padding:22px}form label{display:block;font-weight:600;margin:13px 0}form input,form select{width:100%;margin-top:6px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.danger{color:#b91c1c;border:1px solid #fecaca;background:#fff;padding:7px 10px;border-radius:9px}.edit{border:1px solid #dbeafe;background:#eff6ff;padding:7px 10px;border-radius:9px}@media(max-width:700px){.cards{grid-template-columns:1fr}.card{padding:22px}.card strong{font-size:30px}header{align-items:flex-start}.toolbar>*{flex:1}.toolbar button{flex:1 0 100%}.toolbar select{min-width:0}.app{padding-top:16px}h1{font-size:23px}}

.auth-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f3f5fa}.auth-card{background:#fff;width:min(420px,100%);padding:32px;border-radius:24px;box-shadow:0 10px 40px #17203314;text-align:center}.google-btn{width:100%;margin-top:12px}.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hidden{display:none!important}

.dialog-content{padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.icon-btn{border:0;background:#f3f4f6;border-radius:10px;font-size:22px;padding:4px 11px}.dialog-content label{display:block;font-weight:600;margin:12px 0}.dialog-content input{width:100%;margin-top:6px}.member-list{margin-top:12px}.member-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f4}.member-row button{border:0;background:none;color:#b91c1c}.dialog-content hr{border:0;border-top:1px solid #edf0f4;margin:20px 0}
@media(max-width:700px){
 body{font-size:14px}.app{padding:14px 12px 40px}
 header{margin-bottom:14px;gap:8px}h1{font-size:20px}.header-actions{gap:5px}.header-actions .muted{display:none}
 .header-actions button{padding:8px 9px;font-size:12px}
 .cards{gap:8px;margin:10px 0}.card{padding:13px 14px;border-radius:16px}.card span{font-size:12px}.card strong{font-size:20px;margin-top:5px}
 .toolbar{padding:12px;border-radius:16px;gap:7px;margin-bottom:10px}.toolbar button{padding:9px 10px;font-size:13px}.toolbar select{padding:8px 9px;font-size:13px}
 .panel{padding:15px;border-radius:16px;margin-top:10px}.panel-head{margin-bottom:10px}.panel-head h2{font-size:17px}
 table{min-width:640px;font-size:13px}th,td{padding:9px 7px}th{font-size:12px}
 dialog{width:calc(100% - 20px);border-radius:16px}.dialog-content,form{padding:17px}.dialog-content h2,form h2{font-size:19px}
 form label,.dialog-content label{font-size:13px;margin:10px 0}form input,form select,.dialog-content input{padding:10px;font-size:14px}
 .actions{margin-top:14px}.actions button,.dialog-content button{padding:9px 12px;font-size:13px}
}
