.registration-modal{width:min(620px,calc(100% - 28px));max-width:none;max-height:min(850px,calc(100dvh - 28px));padding:0;overflow:hidden;border:0;border-radius:20px;background:#fff;color:#213338;box-shadow:0 30px 100px rgba(12,38,42,.3)}.registration-modal::backdrop{background:rgba(18,42,46,.53);backdrop-filter:blur(5px)}.registration-modal[open]{display:flex;flex-direction:column}.registration-modal [hidden]{display:none!important}.registration-form{display:flex;min-height:0;max-height:min(850px,calc(100dvh - 28px));flex:1;flex-direction:column}.registration-head{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;padding:17px 26px 13px}.registration-brand{display:flex;align-items:center;gap:7px;color:#35474b;font-family:var(--font-display);font-size:14px;font-weight:800;letter-spacing:-.5px}.registration-brand>span:last-child{margin-left:-7px;color:#839093;font-weight:500}.registration-brand .logo-mark,.registration-brand .logo-mark svg{width:30px;height:30px}.modal-close{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#f1f6f4;color:#72817f;font-size:23px;line-height:1;cursor:pointer}.modal-close:hover{background:#e5f1ee;color:var(--teal)}.registration-progress{height:4px;margin:0 26px;border-radius:99px;background:#edf2f1}.registration-progress span{display:block;width:14.28%;height:100%;border-radius:inherit;background:var(--teal);transition:width .25s ease}.registration-content{min-height:0;overflow:auto;flex:1;padding:22px 38px 26px;overscroll-behavior:contain}.registration-step-count{margin-bottom:12px;color:var(--teal);font-size:10px;font-weight:800;letter-spacing:.3px}.registration-panel h2{margin:0;color:#213137;font-family:var(--font-display);font-size:25px;font-weight:800;letter-spacing:-.9px;line-height:1.2}.registration-subtitle{margin:7px 0 23px;color:#849094;font-size:12px;line-height:1.55}.registration-error-summary{margin:0 0 17px;padding:12px 14px;border:1px solid #f1d4cd;border-radius:10px;background:#fff5f2;color:#a04c40;font-size:10px}.registration-error-summary[hidden]{display:none}.registration-error-summary strong{font-size:11px}.registration-error-summary ul{margin:6px 0 0;padding-left:17px}.choice-list{display:grid;gap:10px}.choice-card{display:flex;min-height:66px;align-items:center;gap:13px;width:100%;padding:12px 15px;border:1px solid #e6edeb;border-radius:12px;background:#fff;color:#3d4c50;text-align:left;cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s}.choice-card:hover{border-color:#a5c7c2;background:#fbfefd}.choice-card.is-selected{border-color:var(--teal);background:#f2faf8;box-shadow:0 0 0 1px rgba(38,127,126,.08)}.choice-emoji{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:11px;background:#eaf5f2;color:var(--teal);font-family:var(--font-display);font-size:14px;font-weight:800}.choice-card>span:nth-child(2){min-width:0;flex:1}.choice-card strong{font-size:12px;font-weight:700}.choice-card small{display:block;margin-top:4px;color:#899597;font-size:9px}.choice-card>.choice-check{display:grid;place-items:center;flex:0 0 19px;width:19px;height:19px;border:1px solid #dfe8e5;border-radius:50%;color:transparent;font-size:10px}.choice-card.is-selected>.choice-check{border-color:var(--teal);background:var(--teal);color:#fff}.role-list{grid-template-columns:1fr 1fr;gap:9px}.role-list .choice-card{min-height:61px;padding:10px 12px;gap:9px}.role-list .choice-emoji{flex-basis:31px;width:31px;height:31px;border-radius:9px;font-size:11px}.role-list .choice-card strong{font-size:10px}.role-list .choice-check{flex-basis:17px;width:17px;height:17px}.form-label{display:block;margin:13px 0 7px;color:#526267;font-size:10px;font-weight:700}.salutation-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px}.salutation-choice{height:41px;border:1px solid #e3eae8;border-radius:8px;background:#fff;color:#68777a;font-size:11px;font-weight:700;cursor:pointer}.salutation-choice:hover,.salutation-choice.is-selected{border-color:#6b9e98;background:#edf7f4;color:var(--teal)}.registration-input{display:block;width:100%;height:43px;padding:0 12px;border:1px solid #e1e9e7;border-radius:8px;outline:0;background:#fff;color:#3c4b4e;font:inherit;font-size:11px}.registration-input:focus{border-color:#76aaa4;box-shadow:0 0 0 3px rgba(38,127,126,.1)}.registration-input::placeholder{color:#a0acad}.registration-input:invalid:not(:placeholder-shown){border-color:#d98f7d}.country-lock{display:flex;align-items:center;gap:10px;margin:1px 0 20px;padding:12px 13px;border:1px solid #e2efeb;border-radius:10px;background:#f5faf8}.country-lock>span:first-child{font-size:22px}.country-lock small,.country-lock strong{display:block}.country-lock small{color:#8b9897;font-size:9px}.country-lock strong{margin-top:2px;color:#3e5556;font-size:11px}.country-lock-note{margin-left:auto;color:#5c9c79;font-size:14px}.field-hint{margin:9px 0 0;color:#899496;font-size:9px;line-height:1.6}.verification-info{display:flex;gap:13px;padding:18px;border:1px solid #e4efec;border-radius:13px;background:#f7fbfa}.verification-shield{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border-radius:11px;background:#e1f2e9;color:#4b9878;font-weight:800}.verification-info strong{color:#45575a;font-size:12px}.verification-info p{margin:7px 0 0;color:#78878a;font-size:10px;line-height:1.75}.verification-note{display:flex;align-items:center;gap:8px;margin-top:14px;color:#849191;font-size:9px}.verification-note span{color:var(--teal);font-size:13px}.registration-password{position:relative}.registration-password .registration-input{padding-right:43px}.registration-password button{position:absolute;top:0;right:0;width:42px;height:43px;border:0;background:transparent;color:#849492;cursor:pointer}.password-rules{margin-top:14px;padding:12px 14px;border-radius:9px;background:#f6f8f8;color:#68777a;font-size:9px}.password-rules>span{font-weight:700}.password-rules ul{display:grid;grid-template-columns:1fr 1fr;gap:6px 15px;margin:9px 0 0;padding:0;list-style:none}.password-rules li:before{content:'○';margin-right:6px;color:#93a4a1}.professional-consent{display:flex;align-items:flex-start;gap:9px;margin-top:17px;color:#788588;font-size:9px;line-height:1.65}.professional-consent input{flex:0 0 auto;margin:2px 0 0;accent-color:var(--teal)}.professional-consent a{color:var(--teal);text-decoration:underline;text-underline-offset:2px}.registration-footer{display:flex;flex:0 0 auto;justify-content:space-between;gap:12px;padding:14px 38px 10px;border-top:1px solid #edf1ef}.registration-back,.registration-next,.registration-submit{min-width:112px;min-height:41px;padding:0 16px;border:1px solid #e3eae8;border-radius:9px;background:#fff;color:#667578;font-size:10px;font-weight:700;cursor:pointer}.registration-back:hover:not(:disabled){background:#f7faf9}.registration-back:disabled{opacity:.4;cursor:default}.registration-next,.registration-submit{border-color:var(--teal);background:var(--teal);color:#fff}.registration-next span,.registration-submit span{margin-left:7px}.registration-next:hover:not(:disabled),.registration-submit:hover{background:var(--teal-dark)}.registration-next:disabled{border-color:#c6dcda;background:#c6dcda;cursor:default}.registration-cancel{flex:0 0 auto;padding:0 0 15px;text-align:center}.registration-cancel button{border:0;background:transparent;color:#9aa4a4;font-size:9px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.registration-modal button:focus-visible,.registration-modal input:focus-visible,.registration-modal select:focus-visible{outline:3px solid rgba(38,127,126,.28);outline-offset:2px}
@media(max-width:620px){.registration-modal{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:16px}.registration-form{max-height:calc(100dvh - 16px)}.registration-head{padding:13px 17px 10px}.registration-progress{margin:0 17px}.registration-content{padding:19px 19px 23px}.registration-panel h2{font-size:22px}.registration-subtitle{margin-bottom:19px;font-size:11px}.choice-card{min-height:59px;padding:10px 12px}.choice-emoji{flex-basis:34px;width:34px;height:34px}.choice-card strong{font-size:11px}.role-list{grid-template-columns:1fr}.role-list .choice-card{min-height:55px}.registration-footer{padding:12px 19px 9px}.registration-back,.registration-next,.registration-submit{min-height:42px}.registration-cancel{padding-bottom:11px}.password-rules ul{grid-template-columns:1fr}.registration-error-summary{font-size:9px}}

/* Standalone account pages */
.account-page{display:grid;place-items:start center;min-height:calc(100vh - 140px);padding:112px 20px 64px;background:linear-gradient(180deg,#f2fafa 0%,#fff 78%)}
.account-card{width:min(100%,620px);padding:36px 42px;border:1px solid #e1ece9;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(19,64,66,.1)}
.account-card-login{width:min(100%,500px);margin-top:0}
.account-kicker{display:inline-block;margin-bottom:9px;color:#16846f;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.account-card h1{margin:0;color:#12375c;font-family:var(--font-display);font-size:clamp(28px,5vw,38px);font-weight:800;letter-spacing:-1px;line-height:1.15}
.account-intro{margin:12px 0 26px;color:#667b89;font-size:15px;line-height:1.65}
.account-form{display:grid;gap:17px}
.account-field{min-width:0}
.account-field label{display:block;margin-bottom:7px;color:#264557;font-size:14px;font-weight:700}
.account-field input,.account-field select{display:block;width:100%;min-height:49px;padding:10px 13px;border:1px solid #dbe7e5;border-radius:10px;background:#fff;color:#213d4a;font:inherit;font-size:15px}
.account-field input:focus,.account-field select:focus{border-color:#27877e;outline:3px solid rgba(39,135,126,.14)}
.account-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.account-field optgroup[hidden]{display:none}
.account-hint{display:block;margin-top:6px;color:#7b8c91;font-size:12px;line-height:1.5}
.account-consent{display:flex;align-items:flex-start;gap:11px;color:#60757b;font-size:13px;line-height:1.55}
.account-consent input{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0;accent-color:#16846f}
.account-submit{display:flex;min-height:52px;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:3px;border:0;border-radius:11px;font-size:15px;font-weight:800}
.account-switch{margin:23px 0 0;color:#6c7e83;text-align:center;font-size:14px}
.account-switch a{color:#087f70;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.account-review-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0 0;color:#75898c;text-align:center;font-size:12px;line-height:1.5}
.account-review-note i{color:#16846f}
.account-alert,.account-status-notice{margin:0 0 20px;padding:14px 16px;border:1px solid #cbe5dd;border-radius:11px;background:#f0faf6;color:#315f54;font-size:14px;line-height:1.55}
.account-status-notice{width:min(100% - 40px,900px);margin:20px auto 0}
.account-alert-error{border-color:#f0d1c9;background:#fff6f3;color:#93483d}
.account-alert ul{margin:7px 0 0;padding-left:20px}
@media(max-width:640px){.account-page{min-height:calc(100vh - 105px);padding:100px 13px 40px}.account-card,.account-card-login{margin:0;padding:26px 20px;border-radius:17px}.account-intro{margin:10px 0 21px;font-size:14px}.account-field-grid{grid-template-columns:1fr;gap:17px}.account-field input,.account-field select{min-height:50px;font-size:16px}.account-submit{min-height:54px}.account-status-notice{width:calc(100% - 26px)}}
