*{box-sizing:border-box}body{margin:0;background:#f5f7f5;color:#183b35;font:16px system-ui,sans-serif}header{height:88px;background:white;border-bottom:1px solid #dfe8e2;display:flex;justify-content:space-between;align-items:center;padding:0 6%}.brand{font-size:27px;font-weight:800;color:#174c40;text-decoration:none}.brand span{display:block;font-size:10px;letter-spacing:3px}main{max-width:1250px;padding:42px 24px;margin:auto}.eyebrow{font-size:12px;color:#658279}h1{font-size:clamp(28px,4vw,42px);margin:12px 0}p{color:#61766f;line-height:1.8}h2{font-size:21px;margin:10px 0 24px}.intro{margin-bottom:28px}.panel{background:#fff;border:1px solid #e0e9e3;border-radius:18px;padding:28px}.narrow{max-width:470px;margin:auto}.columns{display:grid;grid-template-columns:350px 1fr;gap:24px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}.stat{background:#e8f0eb;border-radius:14px;padding:22px}.stat strong{display:block;font-size:32px;margin-top:8px}label{display:block;font-size:14px;margin-bottom:18px}input,select,textarea{width:100%;font:inherit;border:1px solid #ccd9d1;border-radius:9px;background:#fcfdfc;padding:12px;margin-top:8px;color:#183b35}input:focus,select:focus,textarea:focus{outline:2px solid #6da590;outline-offset:2px}.dates{display:flex;gap:12px}.dates label{min-width:0;flex:1}button{font:inherit;border:0;border-radius:9px;padding:12px 18px;background:#17664f;color:white;cursor:pointer}form>button{width:100%}button:disabled{opacity:.5;cursor:wait}.secondary{background:#eef3ef;color:#245b49;margin-top:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-head select{width:auto;margin:0}.request{border-top:1px solid #e6ece7;padding:22px 0}.request h3{font-size:16px;margin:0}.request p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.row{display:flex;justify-content:space-between;gap:12px;align-items:center}.badge{border-radius:30px;padding:5px 12px;font-size:12px;background:#fff2d7;color:#93611d;white-space:nowrap}.approved{background:#e0f1e6;color:#1d6340}.rejected{background:#fbe7e4;color:#9d3830}.meta{font-size:13px;color:#708178;margin-top:12px}.actions{display:flex;gap:8px}.actions button{padding:8px 16px}.empty{text-align:center;padding:48px 10px;color:#7b8f85}#message:empty{display:none}#message{background:#fff4d9;padding:14px;border-radius:9px}#identity{font-size:14px}#identity button{margin-inline-start:14px;font-size:13px}footer{text-align:center;color:#809188;padding:35px;font-size:12px}[hidden]{display:none!important}@media(max-width:800px){.columns{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:16px 10px;font-size:13px}.panel{padding:20px}header{padding:0 20px}.section-head{align-items:start}main{padding:28px 16px}}

#invite-panel{margin-bottom:24px}#invite-result{overflow-wrap:anywhere}

.balance-panel,#program-panel,#email-panel{margin-bottom:24px}.balance-panel .stats{grid-template-columns:repeat(auto-fit,minmax(115px,1fr));margin-bottom:0}.balance-panel input{max-width:120px}summary{cursor:pointer;font-weight:650;padding:8px 0}.resident-allowance,.mail-job{border-top:1px solid #dfe8e2;padding:16px 0}.resident-allowance input{max-width:140px;display:block}a{color:#17664f}

#signature-canvas{display:block;width:100%;max-width:600px;height:auto;aspect-ratio:3;border:1px solid #ccd9d1;border-radius:8px;background:white;touch-action:none;margin-bottom:12px}#signature-preview{display:block;max-width:240px;max-height:110px;background:white;margin:12px 0}

.columns.manager-requests{grid-template-columns:1fr}

.balance-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}
.balance-table-wrap{overflow-x:auto;max-width:100%}
.balance-table{border-collapse:collapse;width:100%;min-width:700px;font-size:14px}
.balance-table caption{text-align:left;color:#61766f;padding:12px 0}
.balance-table th,.balance-table td{text-align:left;padding:15px 12px;border-bottom:1px solid #dfe8e2;vertical-align:middle}
.balance-table thead{background:#edf3ef}.balance-table tbody th{font-weight:600}
.resident-email{display:block;font-size:12px;font-weight:400;color:#61766f;margin-top:5px;overflow-wrap:anywhere}
.low-balance{background:#fff2d7;color:#84511a;font-weight:700}
.balance-table-wrap:focus{outline:2px solid #6da590;outline-offset:2px}
@media(max-width:650px){.balance-filters{grid-template-columns:1fr}.balance-filters label{margin-bottom:0}#team-balances .section-head{flex-wrap:wrap}}

.announcement{border-top:1px solid #dfe8e2;padding:20px 0}.announcement-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px;line-height:1.8}.announcement-image{display:block;max-width:100%;max-height:550px;width:auto;height:auto;border-radius:12px;margin:14px 0}#post-form{max-width:680px;margin-bottom:24px}
