:root{--bg:#0b0d0f;--panel:#131619;--panel2:#191d21;--line:#292e34;--text:#f4f1e9;--muted:#9299a2;--gold:#c8a45d;--green:#72b58e;--red:#d37d7d;--blue:#86a9d8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.hidden{display:none!important}button,input,select{font:inherit}.brand{font-weight:900;letter-spacing:.15em}.brand span,footer strong{color:var(--gold)}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#282217 0,transparent 34%)}.login-card{width:min(480px,100%);padding:42px;background:rgba(19,22,25,.96);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 90px #0009}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:.16em;margin-top:34px}.login h1{font-size:32px;line-height:1.12;margin:12px 0}.login p,.subbrand,.page-head p,small,.muted{color:var(--muted)}input,select{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:9px;background:#0f1214;color:var(--text);margin:6px 0}button{border:0;border-radius:9px;padding:11px 15px;background:var(--gold);color:#17130b;font-weight:750;cursor:pointer}.secondary,.icon-btn{background:#202429;color:var(--text);border:1px solid var(--line)}.login-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:8px 0 18px}.topbar{height:82px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:240px 1fr auto;align-items:center;padding:0 30px;position:sticky;top:0;background:rgba(11,13,15,.96);backdrop-filter:blur(12px);z-index:5}.subbrand{font-size:11px;margin-top:4px}nav{display:flex;justify-content:center;gap:6px}nav button{background:transparent;color:var(--muted);padding:9px 13px}nav button.active,nav button:hover{background:var(--panel2);color:var(--text)}.top-actions{display:flex;align-items:center;gap:8px}.top-actions select{width:auto;margin:0}.icon-btn{padding:10px 13px}main{max-width:1240px;margin:auto;padding:34px 28px 50px}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.page-head h2{font-size:30px;margin:7px 0 4px}.page-head p{margin:0}.badge{display:inline-block;font-size:10px;letter-spacing:.12em;border:1px solid var(--line);padding:5px 8px;border-radius:999px;color:var(--gold)}.hero-balance{padding:26px;border:1px solid #3a3325;border-radius:16px;background:linear-gradient(135deg,#191711,#121518);margin-bottom:14px}.hero-balance label,.metric label{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em}.hero-balance strong{font-size:42px;display:block;margin:6px 0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.metric,.card{background:var(--panel);border:1px solid var(--line);border-radius:14px}.metric{padding:18px}.metric strong{font-size:22px;display:block;margin-top:7px}.grid-2{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.card{overflow:hidden}.card-head{padding:17px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.card-head h3{margin:0;font-size:16px}.card-body{padding:18px}.link-btn{background:transparent;color:var(--gold);padding:4px}.member-row,.activity-row,.money-row,.doc-row{display:grid;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.member-row{grid-template-columns:1fr auto auto}.activity-row{grid-template-columns:90px 1fr auto}.money-row{grid-template-columns:105px 1fr 130px 120px auto}.doc-row{grid-template-columns:1fr auto auto}.member-row:last-child,.activity-row:last-child,.money-row:last-child,.doc-row:last-child{border-bottom:0}.amount.plus{color:var(--green)}.amount.minus{color:var(--red)}.status{font-size:11px;padding:5px 8px;border-radius:999px;background:#22272c}.status.paid{color:var(--green)}.status.pending{color:var(--red)}.status.partial{color:var(--gold)}.goal{padding:15px 0;border-bottom:1px solid var(--line)}.goal:last-child{border:0}.goal-top{display:flex;justify-content:space-between;gap:10px}.progress{height:7px;background:#292d31;border-radius:99px;overflow:hidden;margin:10px 0}.progress i{height:100%;display:block;background:var(--gold)}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:14px}.toolbar select,.toolbar input{width:auto;margin:0}.segmented{display:flex;gap:5px;flex-wrap:wrap}.segmented button{background:#1d2125;color:var(--muted)}.segmented button.active{background:var(--gold);color:#17130b}.table-wrap{overflow:auto}.contrib-table{width:100%;border-collapse:collapse;min-width:780px}.contrib-table th,.contrib-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:13px}.contrib-table th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.empty{padding:30px;text-align:center;color:var(--muted)}.modal{position:fixed;inset:0;background:#000c;display:grid;place-items:center;padding:20px;z-index:20}.modal-card{width:min(650px,96vw);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:26px;position:relative;box-shadow:0 30px 80px #000a}.close{position:absolute;right:13px;top:10px;background:transparent;color:white;font-size:25px}.modal h2{margin-top:0}.add-menu{display:grid;grid-template-columns:1fr 1fr;gap:9px}.add-menu button{background:var(--panel2);color:var(--text);border:1px solid var(--line);text-align:left;padding:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wide{grid-column:1/-1}.danger{background:#6b2828;color:white}.admin-tools{display:flex;gap:7px;flex-wrap:wrap}.admin-tools button{background:#22272c;color:var(--text);font-size:12px;padding:7px 9px}footer{border-top:1px solid var(--line);margin-top:36px;padding-top:22px;text-align:center;color:var(--muted);font-size:12px}footer span{margin-left:8px}@media(max-width:850px){.topbar{height:auto;grid-template-columns:1fr auto;padding:17px}.topbar nav{grid-column:1/-1;grid-row:2;margin-top:12px;justify-content:flex-start;overflow:auto}.top-actions{grid-column:2;grid-row:1}.grid-2{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.money-row{grid-template-columns:85px 1fr auto}.money-row .category,.money-row .status{display:none}main{padding:25px 14px}.activity-row{grid-template-columns:75px 1fr auto}}@media(max-width:520px){.login-card{padding:28px}.login-actions{grid-template-columns:1fr}.top-actions select{display:none}.add-menu,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.hero-balance strong{font-size:34px}}
#notice:not(:empty){position:sticky;top:0;z-index:30;padding:12px 20px;background:#302919;color:var(--text);border-bottom:1px solid var(--gold)}.working button{pointer-events:none;opacity:.65}label{display:block;color:var(--muted);font-size:14px}#loginForm button{width:100%;margin:12px 0}#formError,#loginError,#passwordError{color:var(--red)}.section-gap{margin-top:20px}.voided{opacity:.65}.voided b{text-decoration:line-through}progress{width:100%;height:10px;accent-color:var(--gold);display:block;margin:12px 0}.card-body>button{margin:5px}.money-row button{font-size:12px;margin:3px}.goal small{display:block}.top-actions{flex-wrap:wrap}.doc-row{grid-template-columns:1fr auto}.money-row>div{min-width:0;overflow-wrap:anywhere}.card-body{overflow-wrap:anywhere}@media(max-width:520px){.topbar{grid-template-columns:1fr}.top-actions{grid-column:1;grid-row:2;margin-top:12px}.topbar nav{grid-row:3}.top-actions select{display:block}.money-row{grid-template-columns:1fr 1fr}.money-row .status{display:block}.money-row>div:last-child{grid-column:1/-1}.login h1{font-size:28px}}
