.access-gate{padding:70px 0 76px;background:#f4f7f9;border-top:1px solid #dce4e8;border-bottom:1px solid #dce4e8}
.access-panel{max-width:900px;margin:0 auto;background:#fff;border:1px solid #d8e1e6;box-shadow:0 14px 42px rgba(7,35,49,.09);padding:42px 44px;text-align:center}
.access-lock{width:58px;height:58px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#0d3550;color:#fff;font-size:26px}
.access-panel h2{margin:0 0 14px;color:#163d5b;font-size:clamp(2rem,4vw,3rem)}
.access-panel p{max-width:710px;margin:0 auto 26px;color:#586a76;line-height:1.7}
.access-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.access-btn{display:inline-flex;align-items:center;justify-content:center;min-width:165px;padding:14px 20px;border-radius:3px;text-decoration:none;font-weight:800;letter-spacing:.03em;border:1px solid #d21f3c}
.access-btn.primary{background:#d21f3c;color:#fff}.access-btn.secondary{background:#fff;color:#173f58;border-color:#173f58}
.access-status{margin:18px auto 0;font-size:.9rem;color:#6b7c86}
.member-bar{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-bottom:18px;font-size:.88rem;color:#61727c}
.member-bar a{color:#bf1833;font-weight:800;text-decoration:none}
.auth-page{background:#eef3f6;min-height:calc(100vh - 86px);padding:64px 20px}
.auth-card{max-width:620px;margin:0 auto;background:#fff;border:1px solid #d7e0e5;box-shadow:0 16px 40px rgba(7,35,49,.10);padding:36px}
.auth-card.wide{max-width:900px}.auth-card h1{margin:0 0 10px;color:#163d5b}.auth-card .intro{margin:0 0 28px;color:#60717b;line-height:1.65}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}
.form-field label{display:block;margin-bottom:7px;color:#263e4b;font-weight:800;font-size:.88rem}.form-field input,.form-field textarea{box-sizing:border-box;width:100%;border:1px solid #cbd6dc;border-radius:3px;padding:12px 13px;font:inherit;background:#fff}.form-field textarea{min-height:120px;resize:vertical}.form-field input:focus,.form-field textarea:focus{outline:2px solid rgba(210,31,60,.16);border-color:#d21f3c}
.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}.form-actions button{border:0;border-radius:3px;background:#d21f3c;color:#fff;font-weight:850;padding:13px 20px;cursor:pointer}.text-link{color:#173f58;font-weight:800;text-decoration:none}
.notice{padding:12px 14px;margin:0 0 20px;border-radius:3px;line-height:1.55}.notice.ok{background:#e9f7ef;color:#1e633a;border:1px solid #bfe3cc}.notice.err{background:#fff0f1;color:#8e1d2d;border:1px solid #f2c4ca}.notice.info{background:#edf5fa;color:#214f6b;border:1px solid #c9dde9}
.honeypot{position:absolute!important;left:-9999px!important}
.admin-wrap{max-width:1180px;margin:0 auto;padding:38px 24px 70px}.admin-nav{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 24px}.admin-nav a{padding:9px 13px;background:#eef3f6;color:#173f58;text-decoration:none;font-weight:800;border-radius:3px}.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #d8e1e6}.admin-table th,.admin-table td{padding:12px 13px;border-bottom:1px solid #e2e8eb;text-align:left;vertical-align:top;font-size:.9rem}.admin-table th{background:#153d58;color:#fff}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-actions button{border:0;padding:8px 11px;border-radius:3px;font-weight:800;cursor:pointer}.approve{background:#1f7448;color:#fff}.deny{background:#9b2836;color:#fff}.disable{background:#5a6570;color:#fff}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.access-panel{padding:32px 22px}.auth-card{padding:28px 22px}.admin-table{display:block;overflow-x:auto}}
