.registration{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--green);overflow:auto}
.registration::backdrop{background:rgb(7 42 34 / .5)}
.registration__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 26px 18px;border-bottom:1px solid var(--line)}
.registration__header h2{margin:0 0 8px;font-size:28px;line-height:1.15;letter-spacing:-.03em}
.registration__header p{margin:0;max-width:45ch;color:var(--muted);font-size:14px;line-height:1.5}
.registration__close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:transparent;color:inherit}
.registration__close:hover{background:var(--sage)}
.registration__close .icon{width:20px;height:20px}
.registration__form{padding:18px 26px 26px}
.registration__status{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.5}
.registration__status.is-error{color:#8b3523}
.registration fieldset{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:0;padding:0;border:0}
.registration label{display:block;min-width:0;font-size:14px;line-height:1.4}
.registration__wide{grid-column:1/-1}
.registration input,.registration select{display:block;width:100%;min-height:46px;margin-top:6px;padding:10px 12px;border:1px solid #b7c9b2;border-radius:7px;background:var(--paper);color:var(--ink);font:400 16px/1.3 var(--font-body)}
.registration input[readonly]{background:var(--sage);color:var(--muted)}
.registration__optional{color:var(--muted);font-size:13px}
.registration__footer{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:24px}
.registration__footer .button{width:100%;min-height:48px;font-size:15px}
.registration__footer>a,.registration__retry{align-self:center;font:400 14px/1.4 var(--font-body);color:var(--green);text-decoration:underline;text-underline-offset:4px}
.registration__retry{min-height:44px;border:0;background:transparent}
.registration [hidden]{display:none!important}
.registration :is(input,select,a,button):focus-visible{outline:2px solid var(--green);outline-offset:2px}
@media(max-width:480px){.registration__header{padding:22px 18px 16px}.registration__header h2{font-size:25px}.registration__form{padding:16px 18px 22px}.registration fieldset{gap:14px 10px}}
@media(max-width:350px){.registration fieldset{grid-template-columns:1fr}}
