/* Заявка на доступ: слева «кожа» мастерской — тёмная панель с медным швом и тремя шагами, справа форма на бумаге.
   Шов — единственный акцент страницы: строчка, как на заготовке обуви. Цвета и шрифты — из styles.css CRM. */
.reg{min-height:100vh;display:grid;grid-template-columns:minmax(300px,42%) minmax(0,1fr);background:var(--paper)}
.reg-brand{position:relative;background:var(--brand);color:#f6ece6;padding:56px 64px 48px 48px;display:flex;flex-direction:column;gap:40px;overflow:hidden}
.reg-brand::after{content:"";position:absolute;top:24px;bottom:24px;right:22px;width:2px;background:repeating-linear-gradient(to bottom,var(--copper) 0 11px,transparent 11px 19px);opacity:.85}
.reg-logo{max-width:210px}
.reg-brand-title{margin:auto 0 0;max-width:15em;font:400 34px/1.15 Georgia,'Times New Roman',serif;color:#fff;text-wrap:balance}
.reg-steps{margin:0;padding:0;list-style:none;counter-reset:step;display:grid;gap:18px;max-width:26em}
.reg-steps li{counter-increment:step;display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:14px;row-gap:2px}
.reg-steps li::before{content:counter(step);grid-row:span 2;width:30px;height:30px;border-radius:50%;border:1px dashed var(--copper);display:grid;place-items:center;font:400 15px Georgia,serif;color:var(--copper)}
.reg-steps strong{font-weight:600;font-size:15px;color:#fff}
.reg-steps span{font-size:13.5px;line-height:1.45;color:#d9c3ba}

.reg-panel{display:grid;place-items:center;padding:48px 40px}
.reg-box{width:min(440px,100%);display:grid;gap:26px}
/* Две кнопки наверху: «Войти» и «Зарегистрироваться» — какая форма под ними. */
.reg-switch{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;background:#ebe6e1}
.reg-switch button{min-height:44px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:14.5px;font-weight:600;color:var(--sage-text);cursor:pointer;transition:background .15s,color .15s}
.reg-switch button:hover{color:var(--brand)}
.reg-switch button[aria-selected=true]{background:#fff;color:var(--brand);box-shadow:0 1px 3px #25030320}
.reg-switch button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.reg-form,.reg-done{width:100%;display:grid;gap:16px}
.reg-title{margin:0;font:400 32px/1.15 Georgia,'Times New Roman',serif;color:var(--ink)}
.reg-lead{margin:-6px 0 6px;font-size:14px;line-height:1.55;color:var(--muted);max-width:36em}
.reg-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.reg-field{position:relative;display:grid;gap:6px;min-width:0}
.reg-field>span{font-size:13px;font-weight:600;color:var(--ink)}
.reg-field small{font-size:12px;color:var(--muted)}
.reg-field input{width:100%;min-height:46px;padding:11px 13px;border:1px solid #d9d1cd;border-radius:10px;background:#fff;font:inherit;font-size:15px;color:var(--ink);transition:border-color .15s}
.reg-field input:hover{border-color:#c7bab3}
.reg-field input:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #25030318}
.reg-field input[aria-invalid=true]{border-color:var(--red);background:var(--red-bg)}
.reg-password input{padding-right:96px}
.reg-eye{position:absolute;right:6px;top:29px;min-height:36px;padding:0 12px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:13px;color:var(--sage-text);cursor:pointer}
.reg-eye:hover{background:var(--sage)}
.reg-eye:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.reg-error{margin:0;min-height:1.2em;font-size:13px;line-height:1.45;color:var(--red)}
.reg-error:empty{display:none}
.reg-submit{display:flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:0;border-radius:10px;background:var(--brand);color:#fff;font:inherit;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s}
.reg-submit:hover{background:var(--forest-mid)}
.reg-submit:focus-visible{outline:3px solid var(--copper);outline-offset:2px}
.reg-submit[aria-busy=true]{opacity:.7;cursor:progress}
.reg-alt{margin:0;font-size:13.5px;color:var(--muted);text-align:center}
.reg-alt a{color:var(--brand);font-weight:600}
.reg-done{justify-items:start}
.reg-form[hidden],.reg-done[hidden]{display:none}
.reg-done:focus{outline:none}
.reg-seam{width:120px;height:24px;fill:none;stroke:var(--copper);stroke-width:2;stroke-dasharray:7 5;stroke-linecap:round}
.reg-done .reg-submit{width:100%}

@media (max-width:820px){
 .reg{grid-template-columns:1fr}
 .reg-brand{padding:28px 20px 34px;gap:22px}
 .reg-brand::after{top:auto;left:16px;right:16px;bottom:14px;width:auto;height:2px;background:repeating-linear-gradient(to right,var(--copper) 0 11px,transparent 11px 19px)}
 .reg-logo{max-width:160px}
 .reg-brand-title{margin:0;font-size:22px}
 .reg-steps{gap:8px}
 .reg-steps li{align-items:center}
 .reg-steps li::before{grid-row:auto;width:24px;height:24px;font-size:13px}
 .reg-steps span{display:none}
 .reg-panel{padding:28px 16px 40px;place-items:start center}
 .reg-title{font-size:28px}
}
@media (max-width:420px){.reg-row{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.reg-field input,.reg-submit,.reg-switch button{transition:none}}
/* У Edge в поле пароля свой «глаз» — рядом с кнопкой «Показать» он лишний. */
.reg-password input::-ms-reveal,.reg-password input::-ms-clear{display:none}
