.member-shell{max-width:760px;margin:0 auto;padding-top:88px;padding-bottom:100px;min-height:62vh}.member-shell h1{font-size:clamp(2.5rem,6vw,4.8rem);line-height:1.08;margin:14px 0 24px;letter-spacing:-.045em}.member-shell>p:not(.eyebrow){color:var(--muted,#9caeb6);line-height:1.7}.member-shell .button{margin-top:12px}.member-login{display:grid;gap:12px;margin:32px 0 20px;max-width:480px}.member-login label{font-weight:700}.member-login input{width:100%;border:1px solid #31474f;border-radius:12px;background:#101b21;color:#eef6f7;padding:17px;font:inherit}.member-login input:focus-visible{outline:2px solid #60dce5;outline-offset:3px}.member-login .button{width:100%;justify-content:space-between}.member-fine{font-size:.85rem}.member-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin:26px 0}.member-actions button.text-link{background:none;border:0;font:inherit;cursor:pointer}.member-course{display:grid;grid-template-columns:1fr 1fr;border:1px solid #29414a;background:#101b21;border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;margin:30px 0}.member-course>img{width:100%;height:100%;object-fit:cover}.member-course>span{display:grid;gap:16px;padding:24px}.member-course small{font-size:.7rem;letter-spacing:.08em;color:#64d9e4}.member-course strong{font-size:1.4rem;line-height:1.2}.subscription-terms{max-width:700px;margin:22px auto 0;display:flex;gap:12px;align-items:flex-start;text-align:left;color:#b6c4cc;font-size:.9rem;line-height:1.6}.subscription-terms input{width:20px;height:20px;flex:0 0 20px;margin-top:4px;accent-color:#62dbe4}.subscription-checkout{width:100%;margin-top:auto}.member-note{max-width:650px;margin:18px auto;text-align:center;color:#a4b5bc;line-height:1.6}[data-member-message]:not(:empty),[data-billing-message]:not(:empty){padding:14px;border:1px solid #34545c;border-radius:10px;color:#e0f7fa;line-height:1.5}button[disabled]{cursor:wait;opacity:.6}@media(max-width:600px){.member-shell{padding-top:46px;padding-bottom:64px}.member-course{grid-template-columns:1fr}.member-actions{align-items:stretch;flex-direction:column}.member-shell h1{font-size:3rem}}
.member-contracts{margin-top:42px;padding-top:30px;border-top:1px solid #29414a}.member-contracts h2{font-size:1.55rem;line-height:1.25;letter-spacing:-.025em;margin:0 0 8px}.member-contracts-heading>p,.member-document-note{font-size:.9rem;color:var(--muted,#9caeb6);line-height:1.65}.member-contract-list{list-style:none;display:grid;gap:18px;padding:0;margin:24px 0}.member-contract-card{padding:24px;border:1px solid #29414a;border-radius:16px;background:#101b21}.member-contract-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.member-contract-title h3{font-size:1.2rem;margin:0}.member-contract-state{display:inline-flex;font-size:.72rem;font-weight:700;padding:6px 9px;border-radius:999px;color:#ebd5a1;background:#332e20;border:1px solid #5b4d2c}.member-contract-state.is-confirmed{color:#8ee5cd;background:#15372f;border-color:#285c4d}.member-contract-price{font-weight:700;margin:16px 0}.member-contract-meta{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1.7fr);gap:9px 18px;font-size:.82rem;line-height:1.6;margin:18px 0}.member-contract-meta dt{color:#a3b7c0}.member-contract-meta dd{margin:0;min-width:0}.member-contract-reference{overflow-wrap:anywhere;word-break:break-word;font-size:.78rem}.member-contract-buttons{display:flex;flex-wrap:wrap;gap:10px}.member-contract-card .button{font-size:.84rem;min-height:44px}.member-withdrawal{margin-top:22px;padding-top:18px;border-top:1px solid #29414a}.member-withdrawal summary{cursor:pointer;color:#c1d9df;font-size:.86rem;padding:7px 0;font-weight:700}.member-withdrawal summary:focus-visible,.member-contract-card button:focus-visible{outline:2px solid #60dce5;outline-offset:4px}.member-withdrawal form{padding-top:6px}.member-withdrawal p,.member-withdrawal-status p{font-size:.86rem;line-height:1.65;color:#b4c6ce}.member-withdrawal-status{margin-top:20px;padding:16px;border:1px solid #35554f;border-radius:12px;background:#112923}.member-document-message:not(:empty){margin:18px 0 0;padding:12px;border:1px solid #34545c;border-radius:10px;color:#e0f7fa;font-size:.85rem;line-height:1.6}.member-contracts [hidden]{display:none!important}@media(max-width:600px){.member-contract-card{padding:18px}.member-contract-title{align-items:flex-start;flex-direction:column;gap:10px}.member-contract-meta{grid-template-columns:1fr;gap:4px}.member-contract-meta dd{margin-bottom:9px}.member-contract-buttons .button,.member-withdrawal form .button,.member-withdrawal-status .button{width:100%;justify-content:center;text-align:center}}
.member-shell [hidden]{display:none!important}.member-auth-tabs{display:flex;gap:6px;padding:5px;border:1px solid #29414a;border-radius:13px;background:#101b21;max-width:480px;margin:28px 0 0}.member-auth-tabs button{flex:1;min-height:46px;border:0;border-radius:9px;background:transparent;color:#a9bdc5;font:inherit;font-weight:700;cursor:pointer;padding:10px 16px}.member-auth-tabs button[aria-selected="true"]{background:#62dbe4;color:#072028}.member-auth-tabs button:focus-visible,.member-forgot-link:focus-visible{outline:2px solid #60dce5;outline-offset:3px}.member-auth-tabs+.member-login{margin-top:24px}.member-password-help{font-size:.82rem;line-height:1.5;color:#a9bdc5;margin:-5px 0 3px}.member-forgot-link{width:max-content;font-size:.88rem;padding:5px 0}.member-login [type="password"]{letter-spacing:.015em}@media(max-width:420px){.member-auth-tabs button{padding:10px;font-size:.9rem}}
.member-password-field{position:relative}.member-password-field input{padding-right:66px}.member-password-toggle{position:absolute;top:50%;right:7px;transform:translateY(-50%);display:grid;place-items:center;width:44px;min-height:44px;padding:0;border:0;border-radius:9px;background:transparent;color:#a9bdc5;cursor:pointer}.member-password-toggle:hover{color:#62dbe4;background:#183039}.member-password-toggle:focus-visible{outline:2px solid #60dce5;outline-offset:1px}.member-password-toggle svg{pointer-events:none}.member-password-eye-slash{display:none}.member-password-toggle[aria-pressed="true"] .member-password-eye-slash{display:block}
