:root {
    --auth-ink: #14221c;
    --auth-muted: #68766f;
    --auth-line: #dde7e1;
    --auth-green: #20b879;
    --auth-green-dark: #08734b;
    --auth-soft: #eef7f1;
}

body.auth-modern-page {
    min-width: 320px;
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    color: var(--auth-ink);
    background:
        radial-gradient(circle at 10% 10%, rgba(32, 184, 121, .13), transparent 32rem),
        radial-gradient(circle at 95% 80%, rgba(102, 87, 217, .10), transparent 28rem),
        #f5f8f5;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.auth-modern-page * { box-sizing: border-box; }
.auth-modern-page a { color: inherit; }
.auth-modern-page .public-topbar { position: relative; }

.auth-modern {
    width: min(1120px, calc(100% - 40px));
    min-height: calc(100vh - 79px);
    margin: 0 auto;
    padding: 54px 0 70px;
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(420px, .72fr);
    align-items: center;
    gap: 80px;
}

.auth-modern__copy { max-width: 520px; }
.auth-modern__copy > span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid #cfe5d8; border-radius: 999px; color: var(--auth-green-dark); background: #effaf4; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.auth-modern__copy > span::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--auth-green); box-shadow: 0 0 0 5px rgba(32,184,121,.11); }
.auth-modern__copy h1 { margin: 24px 0 0; font-size: clamp(46px, 5vw, 67px); line-height: .98; letter-spacing: -.06em; }
.auth-modern__copy h1 em { color: var(--auth-green-dark); font-style: normal; }
.auth-modern__copy > p { margin: 23px 0 0; color: var(--auth-muted); font-size: 17px; line-height: 1.7; }
.auth-modern__points { display: grid; gap: 13px; margin: 30px 0 0; padding: 0; list-style: none; color: #4f6158; font-size: 14px; font-weight: 650; }
.auth-modern__points li { display: flex; align-items: center; gap: 10px; }
.auth-modern__points i { width: 25px; height: 25px; display: grid; place-items: center; flex: none; border-radius: 50%; color: var(--auth-green-dark); background: #dff4e8; font-style: normal; font-weight: 900; }

.auth-modern__card { padding: 34px; border: 1px solid rgba(255,255,255,.95); border-radius: 28px; background: rgba(255,255,255,.93); box-shadow: 0 26px 80px rgba(25,58,41,.12); }
.auth-modern__card-head { margin-bottom: 25px; }
.auth-modern__card-head span { color: var(--auth-green-dark); font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.auth-modern__card-head h2 { margin: 8px 0 0; color: var(--auth-ink); font-size: 32px; line-height: 1.1; letter-spacing: -.045em; }
.auth-modern__card-head p { margin: 9px 0 0; color: var(--auth-muted); font-size: 13px; line-height: 1.55; }

.auth-modern-page .account-form { margin-top: 0; gap: 15px; }
.auth-modern-page .account-field { gap: 7px; }
.auth-modern-page .account-field > span { color: #35483e; font-size: 12px; font-weight: 800; }
.auth-modern-page .account-field input { min-height: 52px; border: 1px solid #cedbd3; border-radius: 14px; outline: none; color: var(--auth-ink); background: #f9fbf9; font-size: 15px; }
.auth-modern-page .account-field input:focus { border-color: var(--auth-green); box-shadow: 0 0 0 4px rgba(32,184,121,.11); }
.auth-modern-page .account-field__error { color: #b83f4b; }
.auth-modern-page .account-remember { color: var(--auth-muted); }
.auth-modern-page .account-remember input { accent-color: var(--auth-green); }
.auth-modern-page .account-button--primary { min-height: 53px; border-radius: 14px; color: #fff; background: var(--auth-green); box-shadow: 0 13px 28px rgba(32,184,121,.22); }
.auth-modern-page .account-button--primary:hover { background: #18a86e; }
.auth-modern-page .auth-card__switch,.auth-modern-page .auth-card__legal { color: var(--auth-muted); }
.auth-modern-page .auth-card__switch a { color: var(--auth-green-dark); }
.auth-modern-page .account-alert--success { color: #126c47; border-color: #bce5ce; background: #eaf8f0; }
.auth-modern-page .account-alert--danger { color: #a83441; border-color: #efc5ca; background: #fff0f1; }

.auth-modern__back { display: inline-flex; align-items: center; gap: 8px; margin-top: 23px; color: var(--auth-muted) !important; font-size: 13px; font-weight: 750; text-decoration: none; }
.auth-modern__back:hover { color: var(--auth-green-dark) !important; }

.auth-modern--register { grid-template-columns: minmax(0, .7fr) minmax(460px, .78fr); }
.auth-modern--register .auth-modern__copy h1 { font-size: clamp(44px, 4.8vw, 64px); }
.auth-modern--register .auth-modern__card { padding-block: 30px; }
.auth-modern--register .account-form { grid-template-columns: 1fr 1fr; }
.auth-modern--register .account-field--wide,.auth-modern--register .account-form > button,.auth-modern--register .account-field__error--wide { grid-column: 1 / -1; }

.auth-result { width: min(600px, calc(100% - 30px)); min-height: calc(100vh - 79px); margin: 0 auto; padding: 60px 0; display: grid; place-items: center; }
.auth-result__card { width: 100%; padding: 42px; border: 1px solid #fff; border-radius: 28px; background: rgba(255,255,255,.94); box-shadow: 0 26px 80px rgba(25,58,41,.12); text-align: center; }
.auth-result__icon { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 23px; border-radius: 22px; color: var(--auth-green-dark); background: #e2f6eb; font-size: 30px; }
.auth-result h1 { margin: 8px 0 0; font-size: 39px; letter-spacing: -.05em; }
.auth-result p { margin: 14px 0 27px; color: var(--auth-muted); line-height: 1.65; }
.auth-result .account-button { width: 100%; display: flex; align-items: center; justify-content: center; text-decoration: none; }

@media (max-width: 850px) {
    .auth-modern,.auth-modern--register { grid-template-columns: 1fr; gap: 38px; padding-top: 40px; }
    .auth-modern__copy { max-width: 650px; margin-inline: auto; text-align: center; }
    .auth-modern__copy > span { margin-inline: auto; }
    .auth-modern__points { width: fit-content; margin-inline: auto; text-align: left; }
    .auth-modern__card { width: min(520px,100%); margin-inline: auto; }
}

@media (max-width: 600px) {
    .auth-modern-page .public-topbar__inner > .public-button { display: none; }
    .auth-modern-page .public-brand { margin-inline: auto; }
    .auth-modern { width: calc(100% - 24px); min-height: auto; padding: 34px 0 52px; gap: 28px; }
    .auth-modern__copy h1,.auth-modern--register .auth-modern__copy h1 { font-size: 42px; }
    .auth-modern__copy > p { font-size: 15px; }
    .auth-modern__points { font-size: 13px; }
    .auth-modern__card { padding: 24px 18px; border-radius: 23px; }
    .auth-modern__card-head h2 { font-size: 28px; }
    .auth-modern--register .account-form { grid-template-columns: 1fr; }
    .auth-modern--register .account-field--wide,.auth-modern--register .account-form > button,.auth-modern--register .account-field__error--wide { grid-column: auto; }
    .auth-result { min-height: calc(100vh - 70px); padding: 35px 0; }
    .auth-result__card { padding: 32px 20px; border-radius: 23px; }
    .auth-result h1 { font-size: 34px; }
}
