:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#19334f;background:#f1f4f8;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:#234f7d;text-underline-offset:4px}button,input{font:inherit}button{border:0;border-radius:8px;min-height:44px;padding:11px 16px;font-weight:650;cursor:pointer}.primary{background:#193e69;color:white}.secondary{background:#eaf0f7;color:#25496e}.danger{background:#fff0f0;color:#a12431}.light{background:#28466c;color:white}button:disabled{opacity:.6;cursor:wait}button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #cb4853;outline-offset:3px}input{width:100%;border:1px solid #c9d5e5;border-radius:8px;padding:12px 14px;min-height:48px;background:white;color:#173651}label{display:block;font-size:.9rem;font-weight:650;margin:18px 0 8px}form .primary{margin-top:22px;width:100%}h1{font-size:2rem;line-height:1.2;letter-spacing:-.035em;margin:10px 0}h2{font-size:1.3rem;margin:0 0 12px}p{line-height:1.6}.muted{color:#6c7c90}.small{font-size:.85rem;line-height:1.55;color:#738195;margin:10px 0}.label{font-size:.75rem;letter-spacing:.1em;font-weight:750;color:#677c96}.brand{font-size:1.2rem;font-weight:750;text-decoration:none;color:white}.brand span{font-size:.8rem;margin-left:18px;font-weight:500;color:#b9c9df}.top{background:#142d4d;padding:16px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.headerLinks{display:flex;gap:18px;align-items:center}.headerLinks a{font-size:.85rem;color:#e6eef9}.accessLayout{max-width:1000px;min-height:100vh;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;padding:32px;gap:48px}.accessIntro{background:#142d4d;color:white;padding:40px;border-radius:18px;min-height:470px;display:flex;flex-direction:column;justify-content:center}.accessIntro .brand{margin-bottom:40px}.accessIntro .label{color:#a8bedb}.accessIntro h1{font-size:2.5rem;margin-top:18px}.accessIntro p{color:#bfd0e5}.pill{display:inline-block;align-self:flex-start;border:1px solid #486281;padding:8px 14px;border-radius:24px;font-size:.8rem;margin-top:18px}.loginCard,.accountCard,.panel{background:white;border:1px solid #dbe4ef;border-radius:16px;padding:28px}.loginCard h2{font-size:1.8rem}.loginCard .muted{font-size:.95rem}.accountCard{max-width:540px;margin:36px auto}.adminLayout{max-width:1180px;padding:30px 24px;margin:auto}.adminHeading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.adminHeading p{margin:8px 0}.count{background:#dfeaf6;color:#284e77;font-size:.9rem;border-radius:25px;padding:10px 16px;white-space:nowrap}.adminColumns{display:grid;grid-template-columns:330px minmax(0,1fr);gap:22px;align-items:start}.panel{padding:24px}.passwordRow{display:flex;gap:8px}.passwordRow input{min-width:0}.passwordRow button{font-size:.85rem}.listHeading{display:flex;justify-content:space-between;align-items:center}.listHeading h2{margin:0}.userCard{border:1px solid #e0e7ef;border-radius:10px;padding:16px;margin:14px 0}.userCard h3{font-size:1rem;margin:0 0 4px}.userCard p{font-size:.85rem;margin:6px 0;color:#67798e}.status{display:inline-block;font-size:.75rem;padding:4px 8px;border-radius:4px;background:#e8f5ed;color:#276448}.status.blocked{background:#fff0f0;color:#9b303a}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.actions button{font-size:.8rem;min-height:38px;padding:9px 12px}.credentials{background:#eff8f1;border:1px solid #c3e3ce;border-radius:10px;padding:16px;margin-top:18px;font-size:.85rem}.credentials p{white-space:pre-wrap;overflow-wrap:anywhere}.resetPanel{margin-top:22px;max-width:650px}#message{font-size:.9rem;line-height:1.5;white-space:pre-wrap}#message.error{color:#a12431;background:#fff0f0;padding:12px;border-radius:8px}#message.success{color:#236042;background:#edf7f0;padding:12px;border-radius:8px}body [hidden]{display:none!important}@media(max-width:800px){.accessLayout{grid-template-columns:1fr;gap:22px;max-width:520px;padding:24px}.accessIntro{min-height:0;padding:26px}.accessIntro .brand{margin-bottom:20px}.accessIntro h1{font-size:2rem}.adminColumns{grid-template-columns:1fr}.top{flex-wrap:wrap}.accountCard{margin:24px 18px}.adminHeading h1{font-size:1.7rem}}@media(max-width:480px){.headerLinks{gap:12px;flex-wrap:wrap}.brand span{display:none}.adminLayout{padding:22px 16px}.panel,.loginCard{padding:20px}.count{font-size:.8rem;padding:8px}.accessLayout{padding:18px}}

.requestsPanel{margin-bottom:24px}.requestItem{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-top:1px solid #e0e7ef}.requestItem h3{margin:0 0 6px;font-size:1rem}.requestItem p{margin:6px 0;font-size:.875rem}.requestItem .actions{margin:0}.requestItem a{overflow-wrap:anywhere}.requestsPanel .listHeading{gap:20px}.requestMeta{color:#61758e}.requestHandled{opacity:.75}#requestAdminMessage{font-size:.9rem;color:#9d293d}@media(max-width:700px){.requestItem{display:block}.requestItem .actions{margin-top:14px}.requestsPanel .listHeading{align-items:start}.requestsPanel .small{font-size:.875rem}.headerLinks a{font-size:.875rem}}

.accessIntro p a{color:#fff}.registerLayout{padding-block:28px}.registerLayout .accessIntro{align-self:start;margin-top:20px}.registerLayout .loginCard .small{font-size:.875rem;color:#52667f}.registerLayout .pill{max-width:100%;line-height:1.5}@media(max-width:800px){.registerLayout .accessIntro{margin-top:0}.registerLayout .accessIntro h1{font-size:1.8rem}}

.passwordField{display:flex;gap:8px;align-items:stretch}.passwordField input{min-width:0}.passwordField button{flex-shrink:0;padding-inline:12px;font-size:.875rem}.recoveryLink{margin:18px 0;font-size:.9375rem;font-weight:650}.recoveryLayout .accessIntro{min-height:380px}.recoveryLayout .loginCard .small,.accountCard .small{color:#52667f;font-size:.875rem}.foundAccount{padding:16px;background:#eff4fa;border:1px solid #d7e1ed;border-radius:10px;margin:20px 0;display:grid;gap:6px}.foundAccount strong{font-size:1.2rem;overflow-wrap:anywhere}.foundAccount .small{margin:0}.accountCard h2{margin-top:28px}.accountRecovery{border-top:1px solid #dbe4ef;margin-top:30px}.recoverySaved{border:1px solid #c1dccb;background:#f1f9f4;border-radius:12px;padding:20px;margin-top:20px}.recoverySaved h3{font-size:1.125rem;margin:0}.recoverySaved textarea{width:100%;resize:none;font:600 1rem/1.7 ui-monospace,monospace;border:1px solid #b8cfbf;border-radius:8px;background:white;color:#173651;padding:12px;overflow-wrap:anywhere}.continueLink{display:block;padding:13px 16px;border-radius:8px;font-weight:650;line-height:1.4;text-align:center;text-decoration:none;margin-top:16px}.textButton{color:#234f7d;background:transparent;font-size:.875rem;margin-top:14px;padding-inline:0;text-decoration:underline;text-underline-offset:4px}.recoveryHelp{border-top:1px solid #dbe4ef;padding-top:16px;margin-top:20px}.recoveryHelp summary{cursor:pointer;font-size:.9375rem;font-weight:650}.recoveryHelp p{margin-bottom:0}.recoverySaved .actions button{font-size:.875rem;min-height:44px}.accountCard{max-width:580px}.small{font-size:.875rem}@media(max-width:800px){.recoveryLayout .accessIntro{min-height:0}.recoveryLayout{gap:20px}.recoveryLayout .accessIntro p{margin-bottom:0}.recoveryLayout .accessIntro .pill{margin-top:14px}}@media(max-width:480px){.recoverySaved{padding:16px}.recoverySaved textarea{font-size:.9375rem}.passwordField button{padding-inline:10px}.accountCard{margin-inline:16px;padding:22px}}

.suggestionMessage{white-space:pre-wrap;overflow-wrap:anywhere}.actions select{max-width:100%;padding:9px;border:1px solid #b8c6d6;border-radius:7px}
