
:root{--ink:#19332e;--sub:#697a73;--green:#176c51;--bg:#f4f6f2;--sidebar:#153c32;--primary-ink:#fff;--sidebar-ink:#f3f6ee;--font-scale:1;--cell-pad:13px;--line:#e1e7de;--cream:#e6edd7}*{box-sizing:border-box}body{margin:0;font:calc(14px * var(--font-scale))/1.5 system-ui,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #caa550;outline-offset:3px}button{border:1px solid var(--line);background:white;border-radius:9px;padding:9px 14px;color:var(--ink)}button:hover{background:#edf4ee}.primary{background:var(--green);color:var(--primary-ink);border-color:var(--green)}.primary:hover{filter:brightness(.93)}.danger{color:#a33d37}.layout{display:grid;grid-template-columns:234px 1fr;min-height:100vh}aside{background:var(--sidebar);color:var(--sidebar-ink);padding:30px 18px;display:flex;flex-direction:column;gap:28px}.brand{font-size:30px;font-weight:750;letter-spacing:3px;padding:0 14px}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:2px;color:#b6cdbf}.nav{display:grid;gap:6px}.nav button{text-align:left;border:0;background:transparent;color:var(--sidebar-ink);padding:12px 15px}.nav button.active{background:color-mix(in srgb,var(--sidebar-ink) 16%,transparent);color:var(--sidebar-ink)}.sidefoot{margin-top:auto;font-size:12px;padding:12px;color:#b6cdbf}.sidefoot b{color:#e2ebd9}main{min-width:0}.top{background:#fff;border-bottom:1px solid var(--line);padding:18px 34px;display:flex;align-items:center;justify-content:space-between;gap:15px}.top span{color:var(--sub)}.demo{background:#f8f0d9;color:#725619;font-size:12px;padding:7px 12px;border-radius:20px}.top select{padding:7px;border-radius:7px;border:1px solid var(--line)}.content{max-width:1400px;margin:auto;padding:32px}h1{font-size:29px;letter-spacing:-.8px;margin:0}h2{font-size:18px;margin:0 0 16px}p{margin:6px 0 20px}.muted{color:var(--sub)}.head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.eyebrow{color:var(--green);font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:8px}.hero{border-radius:16px;background:#e6eddc;padding:28px 30px;margin-bottom:25px;display:flex;justify-content:space-between;gap:20px}.hero p{margin-bottom:0;max-width:620px}.hero .seal{font-size:38px;color:#648363;align-self:center}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px}.card .value{font-size:29px;letter-spacing:-1px;font-weight:650;margin:8px 0}.card small{color:var(--sub)}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.panel{margin-bottom:22px}.panelhead{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}.panelhead h2{margin:0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:var(--sub);font-size:11px;text-transform:uppercase;letter-spacing:.8px;background:#f7f9f5}th,td{padding:var(--cell-pad) 12px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--sub)}tr:last-child td{border-bottom:0}.badge{display:inline-block;background:#edf1ed;color:#55635b;border-radius:20px;padding:4px 9px;font-size:11px}.ok{background:#e5f3e9;color:#2a7351}.warn{background:#fff0d6;color:#8a6519}.cancel{background:#f6e6e3;color:#9b4840}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row p{margin:0}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.toolbar input{max-width:350px;flex:1}.toolbar select{width:auto}.notice{background:#f6f1df;border-radius:9px;color:#705e31;padding:13px 16px;margin-bottom:20px;font-size:13px}.empty{padding:30px;text-align:center;color:var(--sub)}label{display:grid;gap:5px;margin:12px 0;font-weight:500}input,select,textarea{width:100%;border:1px solid #d5ded3;border-radius:7px;background:white;padding:10px;color:var(--ink)}textarea{min-height:110px;resize:vertical}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}dialog{border:0;border-radius:16px;padding:28px;width:min(620px,94vw);color:var(--ink);box-shadow:0 25px 90px #12382b33;max-height:90vh;overflow:auto}dialog::backdrop{background:#142e2866}.dialoghead{display:flex;justify-content:space-between;align-items:center}.dialoghead button{border:0;padding:5px 11px}.dialoghead h2{margin:0}#toast{position:fixed;bottom:25px;right:25px;background:#173e32;color:white;padding:14px 22px;border-radius:9px;z-index:10;max-width:90vw}.smallbtn{padding:5px 9px;font-size:12px}.progress{height:8px;background:#eef2e9;border-radius:9px;overflow:hidden;margin-top:10px}.progress span{display:block;height:100%;background:#458661}.amount{font-variant-numeric:tabular-nums}.listnote{white-space:pre-wrap}.avatar{display:inline-grid;place-items:center;background:#e9efdf;border-radius:8px;width:35px;height:35px;margin-right:10px;font-weight:600}.meet{display:grid;grid-template-columns:60px 1fr;gap:16px}.datebox{background:#eff3e8;border-radius:10px;text-align:center;padding:10px;font-weight:700}.chips{display:flex;gap:8px;flex-wrap:wrap}.footnote{font-size:12px;color:var(--sub);margin:15px 0}.mono{font-size:12px} @media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.layout{grid-template-columns:195px 1fr}.content{padding:22px}.top{padding:14px 22px}}@media(max-width:700px){.layout{display:block}aside{padding:16px;gap:12px}.brand{font-size:23px}.brand small,.sidefoot{display:none}.nav{display:flex;overflow:auto;gap:3px}.nav button{white-space:nowrap;padding:8px 11px;font-size:12px}.top{flex-wrap:wrap}.content{padding:18px}.head{align-items:flex-start}.cards{gap:10px}.card{padding:15px}.card .value{font-size:25px}.hero{padding:20px}.hero .seal{display:none}.fields{grid-template-columns:1fr}h1{font-size:24px}}

.auth{max-width:580px;margin:6vh auto;padding:20px}.auth .panel{padding:30px}.auth h1{margin:10px 0}.auth .primary{width:100%;margin-top:12px}.check{display:flex;align-items:center;gap:9px;font-weight:400}.check input{width:auto}.preview-swatch{height:70px;border-radius:9px;padding:15px;display:flex;gap:14px;align-items:center}.logo{max-width:110px;max-height:75px;object-fit:contain;background:#fff;border-radius:8px;padding:5px}.links{display:flex;gap:14px;flex-wrap:wrap}.links a{color:var(--green)}.wraptext{white-space:normal;min-width:180px}.alert{padding:12px;border-radius:8px;background:#fff0d6;color:#725619}.statusbar{font-size:12px;color:var(--sub);padding:8px 0}.top button{padding:6px 10px;font-size:12px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.operation-detail{font-size:13px}a{color:var(--green)} @media(max-width:700px){.two{grid-template-columns:1fr}} @media print{aside,.top,.actions,button{display:none}.layout{display:block}.panel{border:0}.auth{max-width:100%;margin:0}.content{padding:0}}
.member-public{max-width:860px;margin:40px auto;padding:0 16px}.member-section{border:1px solid #dbe4de;border-radius:12px;margin:22px 0;padding:20px}.member-section legend{font-weight:700;padding:0 10px;font-size:1.1rem}.member-section legend span{display:inline-grid;place-items:center;background:#e8f2ec;border-radius:8px;width:30px;height:30px;color:#176c51;margin-right:6px}.member-default{display:inline-block;background:#e8f2ec;padding:8px 16px;border-radius:20px}.fee-amount{background:#f1f6f2;padding:18px;border-radius:8px;font-size:1.1rem}.member-photo{width:90px;height:110px;object-fit:cover;border-radius:8px}.photo-field{margin-bottom:18px}.photo-field small{display:block;color:#58675e}.paper-photo{width:90px;height:100px;border:1px dashed #809388;display:grid;place-items:center}dialog:has(.member-form-sections){width:min(820px,96vw)}@media print{.no-print,#toast,dialog{display:none!important}.paper-form{margin:0;padding:0;max-width:none}.paper-form .panel{box-shadow:none;border:0;padding:0}.paper-form h1{font-size:22px}.paper-form .member-section{margin:10px 0;padding:10px;break-inside:avoid}.paper-form input{height:26px;padding:2px 6px}.paper-form label{margin:5px 0}.paper-form .paper-photo{height:60px}.paper-form{font-size:11px}.paper-form legend{font-size:14px}.paper-form .fields{display:grid;grid-template-columns:1fr 1fr}.paper-form p{margin:7px 0}}
