[hidden] {display:none !important}
.top nav {margin-left:auto;flex-wrap:wrap}
.top #account {font-size:13px;white-space:nowrap}
body.signed-out {background:#edf0e7}
.signed-out main {min-height:100svh;padding:32px 0;display:grid;align-content:center}
.login-shell {margin:auto;width:min(100%,940px);min-height:490px;display:grid;grid-template-columns:1fr 1fr;border:1px solid #d4dccd;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 20px 45px #253a2510}
.login-art {position:relative;isolation:isolate;overflow:hidden;background:#163f35;min-height:100%;padding:34px}
.login-brand {display:flex;align-items:center;gap:10px;color:#f6faee;letter-spacing:-1.4px;font-size:26px;font-weight:700}
.login-brand .mark {background:#d1ed91;color:#1c4336}
.track {position:absolute;inset:31% -64% -43% -21%;z-index:-1;transform:rotate(-36deg);border-radius:40%;background:repeating-radial-gradient(ellipse at center,transparent 0 18px,#b1d47d 19px 21px,transparent 22px 35px);opacity:.82}
.login-form {padding:54px clamp(24px,4vw,52px);align-self:center}
.login-form h1 {margin:0 0 10px;font-size:44px}
.login-form>p,.form-message {font-size:14px;color:#536259;line-height:1.5}
.login-form label {margin-top:20px}
.login-form input {padding:13px}
.login-form .full {width:100%;margin:6px 0 14px;padding:14px;background:#214d3c;color:white}
.login-form .text-btn {font-size:13px}
.form-message:empty {display:none}
button:disabled {opacity:.6;cursor:wait}
.filters {display:flex;gap:16px;align-items:flex-end;margin-bottom:20px}
.filters label {margin:0}
.filters label:first-child {flex:1}
.table-wrap {overflow-x:auto}
table {border-collapse:collapse;text-align:left;width:100%;font-size:14px}
th {font-size:12px;color:#55635a;font-weight:600;background:#f4f6ef}
td,th {padding:13px 10px;border-bottom:1px solid #e3e7de}
td small {display:block;color:#526059;margin-top:4px}
.state {white-space:nowrap;color:#6f4c32;background:#f7ebdc;border-radius:16px;padding:4px 9px;font-size:12px}
.state.enabled {background:#e9f1df;color:#385634}
@media(max-width:740px){.login-shell{grid-template-columns:1fr;min-height:0}.login-art{min-height:116px;padding:25px}.track{inset:-138% -22% -170% 43%}.login-form{padding:30px 24px}.signed-out main{padding:16px 0}.top{display:grid;grid-template-columns:1fr auto}.top nav{grid-column:1/-1;grid-row:2;margin:0}.top #account{grid-row:1;grid-column:2}.filters{gap:9px}td,th{padding:10px 6px}}
.key-editor {border-top:1px solid #dce2d5;padding-top:20px;max-width:520px;margin-top:15px}
.key-actions {display:flex;align-items:center;gap:12px}
.signup-roles {border:0;margin:16px 0 0;padding:0}
.signup-roles legend {font-weight:650;font-size:14px}
.signup-roles .role-options {display:grid;grid-template-columns:1fr 1fr;gap:8px}
.signup-roles label {display:flex;align-items:center;gap:8px;padding:11px;border:1px solid #a6b29f;border-radius:8px;margin-top:6px;cursor:pointer}
.signup-roles input {width:auto;margin:0;accent-color:#24513c}
.signup-roles label:has(:checked) {background:#e9f1df;border-color:#53764a}
