.access-panel{max-width:720px;margin:26px 0 42px;padding:28px;border:1px solid #31516a;border-radius:16px;background:linear-gradient(145deg,#142e43,#0d1c2a)}
.access-panel[hidden]{display:none}
.account-context{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 18px;border:1px solid #31516a;border-radius:12px;background:#102333;color:#dcecf6}
.account-context[hidden],#auth-confirm-row[hidden]{display:none}
.account-context div{display:flex;flex-wrap:wrap;gap:8px}
.account-context button,#auth-toggle,#verification-request{border:1px solid #4c6c82;border-radius:8px;background:#10283a;color:#eaf5ff;padding:10px 13px;cursor:pointer;font:inherit;font-weight:700}
.access-panel h2{font-size:30px;letter-spacing:-.04em;margin:0 0 12px}
.access-panel p{color:#bdd0df;line-height:1.55}
.access-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.access-actions a,#enrollment-submit{display:inline-block;border:1px solid #4c6c82;border-radius:8px;padding:12px 18px;color:#eaf5ff;background:#10283a;font-weight:800}
.access-actions .access-primary,#enrollment-submit{background:#4caef7;border-color:#4caef7;color:#08131e}
.access-panel form{display:grid;gap:10px;margin-top:22px}
#auth-confirm-row{display:grid;gap:10px}
.access-panel label{color:#b9ccda;font-size:14px}
.access-panel input{min-height:44px;padding:10px 12px;border:1px solid #4c6c82;border-radius:8px;background:#081b29;color:#eef6fc;font:inherit}
.access-panel input:focus{outline:2px solid #4caef7;outline-offset:2px}
#enrollment-submit{justify-self:start;cursor:pointer}
#auth-submit,#verification-submit{justify-self:start;cursor:pointer;border:1px solid #4caef7;border-radius:8px;padding:12px 18px;background:#4caef7;color:#08131e;font:inherit;font-weight:800}
#auth-toggle{margin-top:18px}
#verification-request{margin-top:14px}
.code-preview{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#8bd4ff!important;word-break:break-word;margin:0}
#discount-options{display:grid;gap:9px;border:1px solid #4c6c82;border-radius:10px;padding:15px;margin:8px 0 0}
#discount-options legend{color:#bdd0df;font-size:14px;font-weight:700;padding:0 6px}
#discount-options label{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #31516a;border-radius:8px;background:#0d2435;color:#eef6fc;cursor:pointer}
#discount-options input{width:18px;height:18px;min-height:18px;flex:none;margin:0}
.terms-choice{display:flex;align-items:flex-start;gap:10px;line-height:1.5;margin:10px 0}.terms-choice input{width:18px;height:18px;min-height:18px;flex:none;margin-top:2px}.terms-choice a{color:#8bd4ff}
#code-action-message{min-height:1.4em;color:#bdd0df}
.code-state{font-weight:700;color:#a9dfff!important;margin:0 0 14px}
.code-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.codes .code-actions button.secondary{background:#10283a;color:#eaf5ff;border:1px solid #4c6c82}
.codes .code-actions button:disabled{opacity:.5;cursor:not-allowed}
.add-code-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0 24px;padding:18px;border:1px solid #31516a;border-radius:12px;background:#102333}
.add-code-form[hidden]{display:none}
.add-code-form label{width:100%;color:#bdd0df;font-size:14px;font-weight:700}
.add-code-form select{min-height:44px;padding:10px 12px;border:1px solid #4c6c82;border-radius:8px;background:#081b29;color:#eef6fc;font:inherit}
.add-code-form button{min-height:44px;padding:10px 16px;border:0;border-radius:8px;background:#4caef7;color:#08131e;font-weight:800}
#enrollment-submit:disabled{opacity:.6;cursor:wait}
#enrollment-message{min-height:1.3em}
@media(max-width:700px){.access-panel{padding:20px}.access-panel h2{font-size:26px}}
