:root { font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#17231b; background:#f3f7f4; }
* { box-sizing:border-box; }
body { margin:0; }
.admin-shell { width:min(1180px,100%); margin:auto; padding:28px 18px 48px; }
header { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; flex-wrap:wrap; }
.header-actions a { white-space:nowrap; }
.header-actions .logout-link { color:#b91c1c; }
.brand { color:#15803d; font-size:12px; font-weight:800; letter-spacing:.22em; }
h1 { margin:6px 0 18px; font-size:clamp(26px,5vw,40px); }
a { color:#166534; }
.summary,.filters,.table-card,.members-card,.danger-zone { background:#fff; border:1px solid #dce8df; border-radius:18px; box-shadow:0 10px 35px rgba(20,83,45,.07); }
.summary { padding:20px 24px; display:flex; align-items:baseline; gap:14px; }
.summary strong { font-size:34px; color:#166534; }
#identity { margin-left:auto; color:#65736a; font-size:13px; }
.filters { margin-top:18px; padding:18px; display:grid; grid-template-columns:1.5fr 1.1fr repeat(4,1fr); gap:12px; align-items:end; }
.filters label { display:grid; gap:7px; color:#52645a; font-size:13px; }
input { width:100%; border:1px solid #cbd8ce; border-radius:9px; padding:10px 11px; font:inherit; }
.filter-actions { grid-column:1/-1; display:flex; gap:10px; flex-wrap:wrap; }
.filters button,.danger-zone button { border:0; border-radius:9px; padding:10px 16px; background:#166534; color:#fff; cursor:pointer; }
.filters .secondary { background:#e8f0ea; color:#166534; }
.table-card { margin-top:18px; overflow:hidden; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; min-width:900px; }
th,td { padding:14px 16px; text-align:left; border-bottom:1px solid #edf2ee; white-space:nowrap; }
th { background:#f8faf8; color:#52645a; font-size:13px; }
td { font-size:14px; }
.delete { border:1px solid #dc2626; background:#fff; color:#b91c1c; border-radius:8px; padding:7px 11px; cursor:pointer; }
nav { display:flex; justify-content:center; align-items:center; gap:16px; padding:18px; }
nav button { border:0; border-radius:9px; padding:9px 16px; background:#166534; color:#fff; }
nav button:disabled { background:#aebbb2; }
.message { margin-top:16px; padding:14px 16px; border-radius:12px; background:#fee2e2; color:#991b1b; }
.hidden { display:none; }
.empty { text-align:center; color:#65736a; padding:42px; }
.danger-zone { margin-top:18px; padding:18px 22px; }
.members-card { margin-top:18px; overflow:hidden; }
.section-heading { padding:18px 18px 8px; display:flex; justify-content:space-between; align-items:center; }
.section-heading h2 { margin:5px 0 0; }
.section-heading button,.role-button { border:0; border-radius:9px; padding:9px 13px; background:#166534; color:#fff; cursor:pointer; }
.section-help { margin:0; padding:0 18px 14px; color:#65736a; font-size:13px; }
.danger-zone summary { cursor:pointer; font-weight:700; }
.danger-zone p { color:#65736a; }
.danger-zone button { background:#b91c1c; }
@media(max-width:760px){ .filters{grid-template-columns:1fr 1fr} #identity{display:none}.admin-shell{padding:20px 12px} }
@media(max-width:560px){ header{align-items:flex-start}.header-actions{gap:8px 12px;font-size:13px} }
@media(max-width:480px){ .filters{grid-template-columns:1fr} }
