:root{color-scheme:light;--ink:#17231c;--muted:#68766e;--line:#dce4de;--paper:#ffffff;--canvas:#f2f6f3;--green:#146c43;--green-soft:#dff3e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink)}main{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:48px 0 80px}header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}h1,h2,p{margin:0}h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.05em;line-height:1}h2{font-size:1.5rem;letter-spacing:-.025em}p{margin-top:12px;color:var(--muted)}.eyebrow{display:block;margin-bottom:8px;color:var(--green);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 36px rgba(25,58,38,.06)}.toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:20px 24px;margin-bottom:20px}.toolbar-actions{display:flex;align-items:center;gap:20px}.toolbar-actions button{padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);font:inherit;cursor:pointer}.toolbar-actions button:disabled{opacity:.6;cursor:not-allowed}.status span,label span{display:block;margin-bottom:7px;color:var(--muted);font-size:.78rem;font-weight:700}select{min-width:220px;padding:11px 36px 11px 12px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);font:inherit}.status{text-align:right}.status strong{display:inline-flex;align-items:center;gap:8px}.status strong:before{width:9px;height:9px;border-radius:50%;background:currentColor;content:""}.up{color:var(--green)}.down{color:#a43d37}.members{overflow:hidden}.section-title{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--line)}.count{min-width:38px;padding:7px 10px;border-radius:999px;background:var(--green-soft);color:var(--green);font-weight:800;text-align:center}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{padding:16px 24px;border-bottom:1px solid var(--line);text-align:left}th{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}td small,th{color:var(--muted)}td small{display:block;margin-top:4px}tbody tr:last-child td{border-bottom:0}.empty{padding:42px;color:var(--muted);text-align:center}.error{margin-bottom:20px;padding:14px 18px;border:1px solid #efc7c2;border-radius:12px;background:#fff1ef;color:#8c2923}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(480px,100%);padding:36px}.auth-card h1{font-size:2.5rem}.primary-button{display:inline-block;margin-top:28px;padding:12px 18px;border-radius:10px;background:var(--green);color:white;font-weight:750;text-decoration:none}.user-menu{display:grid;justify-items:end;grid-gap:3px;gap:3px}.user-menu small{color:var(--muted)}.user-menu button{margin-top:8px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);cursor:pointer}.badge{display:inline-block;margin-top:6px;padding:3px 8px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge.active{background:var(--green-soft);color:var(--green)}.badge.inactive{background:#f3e9e8;color:#8c2923}.audit-log{margin-top:20px}.audit-log code{padding:2px 5px;border-radius:5px;background:var(--canvas);font-size:.8rem}.audit-log pre{margin:0;font-size:.8rem;color:var(--muted)}.fee-rules,.user-management{margin-top:20px}.fee-rules .section-title button{padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);cursor:pointer}.fee-rule-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:16px;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line)}.fee-rule-form label{display:grid;grid-gap:6px;gap:6px}.fee-rule-form span{color:var(--muted);font-size:.78rem;font-weight:700}.fee-rule-form input,.fee-rule-form select{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}.fee-rule-form .primary-button{justify-self:start;align-self:end}.fee-rule-list{display:grid;grid-gap:10px;gap:10px}.fee-rule-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:var(--canvas)}.fee-rule-item strong{flex:1 1;font-size:.9rem}.fee-rule-item span{font-weight:700;font-size:.85rem}.fee-rule-item small{color:var(--muted);font-size:.8rem}.user-management .section-title button{padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);cursor:pointer}.user-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:16px;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line)}.user-form label{display:grid;grid-gap:6px;gap:6px}.user-form span{color:var(--muted);font-size:.78rem;font-weight:700}.user-form input,.user-form select{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}.user-form .primary-button{justify-self:start;align-self:end}.section-actions{display:flex;align-items:center;gap:12px}.section-actions button{padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);cursor:pointer}.member-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:16px;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line)}.member-form label{display:grid;grid-gap:6px;gap:6px}.member-form span{color:var(--muted);font-size:.78rem;font-weight:700}.member-form input,.member-form select{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}.member-form .primary-button{justify-self:start;align-self:end}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:var(--canvas)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);display:grid;place-items:center;padding:24px;z-index:100}.modal{background:white;border-radius:18px;width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 60px rgba(25,58,38,.16)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:1.25rem}.modal-header button{padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:white;cursor:pointer}.modal-body{padding:20px 24px}.modal-body h3{margin:0 0 16px;font-size:1rem}.member-details{margin-bottom:24px}.member-details p{margin:0 0 8px;color:var(--ink)}.member-details button{margin-top:8px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:white;cursor:pointer}.form-actions{grid-column:span 2;display:flex;gap:12px}.form-actions button{padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:white;cursor:pointer}.consent-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:20px}.consent-form label{display:grid;grid-gap:6px;gap:6px}.consent-form span{color:var(--muted);font-size:.78rem;font-weight:700}.consent-form input,.consent-form select{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}.consent-form .primary-button{grid-column:span 2;justify-self:start}.consent-list{display:grid;grid-gap:10px;gap:10px}.consent-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:var(--canvas)}.consent-item.granted{background:var(--green-soft)}.consent-item.revoked{background:#f3e9e8}.consent-item strong{flex:1 1;font-size:.9rem}.consent-item span{font-weight:700;font-size:.85rem}.consent-item small{color:var(--muted);font-size:.8rem}@media (max-width:680px){main{padding-top:28px}.toolbar,header{align-items:stretch;flex-direction:column}.user-menu{justify-items:start}.status{text-align:left}select{width:100%}td,th{padding:14px 16px}}