.access-modal{box-sizing:border-box;width:min(580px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;padding:36px;border:1px solid #48484c;border-radius:22px;background:radial-gradient(circle at 86% 0,rgba(93,63,211,.5),transparent 58%),linear-gradient(145deg,#0c0c0e,#0c0c0e);box-shadow:0 34px 100px #000;color:#b8a6f5;font-family:Inter,system-ui,sans-serif}.access-modal *{box-sizing:border-box}.access-modal::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}.access-modal [hidden]{display:none!important}.access-close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:#b8b8bc;font-size:26px;cursor:pointer}.access-icon{display:block;width:46px;height:46px;margin-bottom:18px;border-radius:12px}.access-eyebrow{font-size:10px;font-weight:700;color:#b8a6f5;letter-spacing:.1em}.access-modal h2{margin:9px 0 0;font-size:29px;line-height:1.15;letter-spacing:-.035em;color:#b8a6f5}.access-intro{margin:13px 0 20px;color:#b9b9bd;font-size:13px;line-height:1.6}.access-plans{margin:0;padding:0;border:0;display:grid;gap:9px}.access-plans legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.access-plan{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #48484c;border-radius:12px;background:#0c0c0e;cursor:pointer}.access-plan:has(input:checked){border-color:#b8a6f5;background:#303034;box-shadow:inset 0 0 0 1px #668cff33}.access-plan:focus-within{outline:2px solid #b8a6f5;outline-offset:2px}.access-plan input{width:16px;height:16px;accent-color:#b8a6f5;margin:0;flex-shrink:0}.access-plan>span{flex:1;min-width:0}.access-plan b{font-size:14px}.access-plan small{display:block;margin-top:5px;color:#b2b2b6;font-size:11px;line-height:1.4}.access-plan strong{font-size:23px;white-space:nowrap;text-align:right}.access-plan strong small{display:inline;font-size:11px;margin-left:2px}.access-plan em{padding:3px 5px;border-radius:5px;background:#5d3fd3;color:white;font-size:8px;font-style:normal;white-space:nowrap}.access-benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0;padding:0;list-style:none;font-size:12px;color:#d8d8dc}.access-benefits li:before{content:'✓';color:#b8a6f5;margin-right:7px}.access-primary{width:100%;min-height:46px;padding:12px;border:0;border-radius:10px;background:linear-gradient(135deg,#5d3fd3,#5d3fd3);color:#fff;font:600 14px Inter,system-ui,sans-serif;cursor:pointer}.access-primary:disabled{opacity:.6;cursor:wait}.access-text-button{display:block;margin:15px auto 0;padding:0;border:0;background:transparent;color:#b8a6f5;font:500 12px Inter,system-ui,sans-serif;cursor:pointer}.access-links{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:17px;color:#98989c;font-size:11px}.access-links a{color:#c2c2c6;text-decoration:none}.access-links .access-text-button{margin:0}.access-note{display:block;margin-top:12px;color:#a5a5a9;text-align:center;font-size:10px;line-height:1.6}.access-status{color:#ffacb7;font-size:12px;line-height:1.5}.access-status:empty{display:none}.access-field{display:grid;gap:8px;font-size:12px;color:#bfbfc3;margin:20px 0}.access-field input{width:100%;height:46px;padding:0 12px;border:1px solid #48484c;border-radius:10px;background:#0c0c0e;color:#b8a6f5;font:500 13px Inter,system-ui,sans-serif}.access-field input:focus{outline:2px solid #b8a6f5}.access-modal-open{overflow:hidden}@media(max-width:540px){.access-modal{padding:28px 20px}.access-modal h2{font-size:26px}.access-plan{padding:13px 10px;gap:9px}.access-plan strong{font-size:20px}.access-plan b{font-size:13px}.access-plan em{display:inline-block}.access-benefits{font-size:11px}}

.access-modal{border-color:rgba(154,127,235,.32);background:radial-gradient(circle at 86% 0,rgba(93,63,211,.34),transparent 58%),linear-gradient(145deg,#121015,#000)}
.access-primary{background:linear-gradient(135deg,#785ae6,#5d3fd3);box-shadow:0 8px 24px rgba(93,63,211,.24)}
.access-plan{background:#090909;border-color:#303033}.access-plan:has(input:checked){border-color:#5d3fd3;background:rgba(93,63,211,.16);box-shadow:inset 0 0 0 1px rgba(93,63,211,.22)}
.access-plan input{accent-color:#5d3fd3}.access-plan em{background:#5d3fd3}.access-field input{background:#090909;border-color:#303033}
.access-modal,.access-modal h2{color:#f4f4f5}.access-plan b,.access-plan strong{color:#f4f4f5}

/* Optional certificate step shares the access dialog's colors and controls. */
.addon-modal{width:min(500px,calc(100vw - 28px))}
.addon-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;padding:18px;border:1px solid #48484c;border-radius:12px;background:#0c0c0e}
.addon-summary>div{flex:1}.addon-summary b{font-size:14px}.addon-summary small{display:block;margin-top:7px;color:#b2b2b6;font-size:12px;line-height:1.6}.addon-summary strong{font-size:24px;white-space:nowrap}
.addon-billing{font-size:12px}.addon-consent{display:flex;align-items:flex-start;gap:10px;color:#bfbfc3;font-size:12px;line-height:1.5}.addon-consent input{margin:2px 0 0;accent-color:#b8a6f5;flex-shrink:0}.addon-modal .access-field small{font-size:11px;line-height:1.6}.addon-modal a{color:#b8a6f5}.addon-modal .access-note{margin:14px 0 18px}.addon-modal .access-text-button{min-height:32px}.addon-modal button:focus-visible{outline:2px solid #b8a6f5;outline-offset:3px}

