:root{--ink:#172e45;--navy:#144e72;--line:#dbe4ec;--muted:#667b8e;--page:#f3f6fa;--green:#176653;--red:#9d3628}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font:15px/1.45 Arial,Helvetica,sans-serif}button,input,select{font:inherit}.admin-topbar{height:72px;padding:0 40px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.admin-topbar>div{display:flex;align-items:center;gap:18px;color:var(--muted)}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-size:19px}.brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--navy);color:#fff;font-size:24px}.secondary,.primary,.row-action{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:10px 15px;text-decoration:none;font-weight:600;cursor:pointer}.secondary,.row-action{background:#fff;color:var(--navy);border:1px solid #bfd0dc}.primary{background:var(--navy);color:#fff;border:1px solid var(--navy)}.wide{width:100%}main{max-width:1280px;margin:auto;padding:42px 36px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#647b8f;margin:0 0 6px}.page-heading h1{font-size:34px;letter-spacing:-1px;margin:0}.page-heading p:not(.eyebrow){color:var(--muted);margin:8px 0 0}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 4px 18px #17354e0a}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:18px;margin:0}.panel-heading span{color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:16px 18px;border-bottom:1px solid #e4ebf1;white-space:nowrap}th{font-size:12px;letter-spacing:.4px;color:#6d8090;background:#f9fbfc}td:first-child{font-weight:650}.slug{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#536d80}.badge{display:inline-flex;border-radius:20px;padding:4px 9px;font-size:12px;font-weight:700}.badge.active{background:#e8f7f2;color:var(--green)}.badge.suspended{background:#fff1ed;color:var(--red)}.actions{display:flex;justify-content:flex-end;gap:8px}.row-action{padding:7px 10px;font-size:12px}.row-action.danger{color:var(--red);border-color:#efc6bf}.alert{padding:14px 17px;border:1px solid #d2e0e9;background:#fff;border-radius:8px;margin-bottom:20px}.alert.info{color:#315b76;background:#eef7fc;border-color:#c9dfec}.alert.error{color:var(--red);background:#fff1ed;border-color:#efc6bf}dialog{width:min(520px,calc(100% - 28px));padding:0;border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 80px #122c4050}dialog::backdrop{background:#122c4070}dialog>form,.dialog-content{padding:30px;position:relative}dialog h2{margin:0;font-size:24px}.description{color:var(--muted);margin:8px 0 22px}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#6c8192;font-size:26px;cursor:pointer}label{display:grid;gap:7px;font-weight:650;margin:15px 0}input,select{width:100%;border:1px solid #bccdda;border-radius:6px;padding:11px;background:#fff;color:var(--ink)}label small{font-weight:400;color:var(--muted)}.form-error{min-height:21px;color:var(--red);font-size:13px}.member-list{margin:20px 0}.member{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:12px 0;border-bottom:1px solid #e5ebf0}.member strong{font-size:14px}.member span{grid-row:1/3;grid-column:2;color:#536d80;text-transform:capitalize}.member small{color:var(--muted)}.member-form{display:grid;grid-template-columns:1fr 145px auto;gap:10px;align-items:end}.member-form label{margin:0}.members-dialog>form{padding:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.admin-topbar{padding:0 18px}.admin-topbar #admin-user{display:none}main{padding:28px 16px}.page-heading{align-items:flex-start;gap:18px}.page-heading h1{font-size:28px}.member-form{grid-template-columns:1fr}.actions{justify-content:flex-start}th,td{padding:13px}}
