.soto-auth {margin:0;padding:0;background:#f5f5f5;color:#1f1f1f;font:400 16px/20px Inter,system-ui,sans-serif}
.soto-auth *, .soto-auth *::before, .soto-auth *::after {box-sizing:border-box}
.soto-auth button, .soto-auth input {font:inherit}
.soto-auth button, .soto-auth a {touch-action:manipulation}
.soto-auth a {color:inherit;text-decoration:none}
.soto-auth button {cursor:pointer}
.soto-auth :focus-visible {outline:2px solid #f17a26;outline-offset:3px}
.soto-auth__page {display:grid;grid-template-columns:1fr 1fr;gap:60px;min-height:100svh;padding:80px}
.soto-auth__visual {position:relative;min-width:0;min-height:560px;border-radius:20px;overflow:hidden}
.soto-auth__preview {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.soto-auth__logo {position:absolute;top:40px;left:40px;width:60px;height:60px}
.soto-auth__logo img {position:absolute;top:0;height:100%}
.soto-auth__logo img:first-child {left:26.7%;width:73.3%}
.soto-auth__logo img:last-child {left:0;width:68.04%}
.soto-auth__content {position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:70px 0}
.soto-auth__methods {display:flex;align-items:center;justify-content:center;gap:30px;width:100%}
.soto-auth__card {display:flex;flex-direction:column;gap:30px;padding:40px;border:1px solid #e5e5e5;border-radius:30px;background:#fff;flex:1;min-width:0;max-width:454px}
.soto-auth h1 {margin:0;font-size:36px;font-weight:600;line-height:40px;letter-spacing:-.65px}
.soto-auth h1 strong {font-weight:700}
.soto-auth p {margin:14px 0 0;color:#a3a3a3;font-size:16px;line-height:20px}
.soto-auth__card > header {display:flex;flex-direction:column;gap:20px}
.soto-auth__card > header h1, .soto-auth__card > header p {text-box-trim:trim-both;text-box-edge:cap alphabetic}
.soto-auth__card > header p {margin:0}
.soto-auth__form {display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:16px}
.soto-auth__credentials {display:flex;flex-direction:column;gap:16px;grid-column:1;grid-row:1}
.soto-auth__form > .soto-auth__submit {grid-column:2;grid-row:1;padding:0;font-size:0}
.soto-auth__form > .soto-auth__options {grid-column:1/-1;grid-row:2}
.soto-auth__field {position:relative;display:block;margin:0;font-weight:400}
.soto-auth__field > span {position:absolute;z-index:1;top:-6px;left:10px;padding:0 4px;background:#fff;color:#a3a3a3;font-size:12px;line-height:14px}
.soto-auth__field input {width:100%;height:40px;padding:10px 14px;border:1px solid #d4d4d4;border-radius:8px;color:#1f1f1f;background:#fff;outline-offset:2px}
.soto-auth__field input::placeholder {color:#a3a3a3}
.soto-auth__field--password input {padding-right:42px}
.soto-auth__eye {position:absolute;right:4px;top:3px;width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#a3a3a3}
.soto-auth .soto-icon {display:inline-flex;align-items:center;justify-content:center;flex:none}
.soto-auth .soto-icon svg {width:100%;height:100%}
.soto-auth__options {display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;line-height:14px}
.soto-auth__remember {display:flex;align-items:center;gap:8px;color:#a3a3a3;cursor:pointer;white-space:nowrap}
.soto-auth__remember input {appearance:none;width:16px;height:16px;border:1px solid #d4d4d4;border-radius:50%;margin:0;background:#fff}
.soto-auth__remember input:checked {border:5px solid #1f1f1f}
.soto-auth__submit {display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #f17a26;border-radius:8px;background:#f17a26;min-height:40px;padding:8px 14px;color:#fff!important;font-size:16px;line-height:20px;font-weight:500;text-align:center}
.soto-auth__submit > span {font-size:24px;line-height:16px;font-weight:400}
.soto-auth__submit:disabled {opacity:.6;cursor:wait}
.soto-auth__or {flex:none;width:55px;text-align:center;color:#a3a3a3;font-size:16px;line-height:20px}
.soto-auth__qr {flex:none;width:281px;min-height:356px;align-items:center;text-align:center;gap:14px}
.soto-auth__qr-code {width:161px;height:161px;display:flex;align-items:center;justify-content:center}
.soto-auth__qr-code img, .soto-auth__qr-code canvas {width:161px;height:161px}
.soto-auth__qr-copy h2 {font-size:16px;line-height:20px;font-weight:500;margin:0;white-space:nowrap}
.soto-auth__qr-copy p {margin-top:8px;white-space:nowrap}
.soto-auth__qr-refresh {min-height:36px;padding:6px 12px;background:#f5f5f5;border:1px solid #d4d4d4;border-radius:8px}
.soto-auth__qr-status {margin:0!important;font-size:12px!important;line-height:14px!important}
.soto-auth [hidden] {display:none!important}
.soto-auth__faq {position:absolute;left:0;bottom:0;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid #d4d4d4;border-radius:8px;font-weight:500}
.soto-auth__errors {grid-column:1/-1;padding:12px;border-radius:8px;background:#fcebeb;color:#c03433;font-size:14px;line-height:18px}
.soto-auth__errors p {display:none}
.soto-auth__errors ul {margin:0;padding-left:18px}
.soto-auth__recovery {max-width:380px;padding:30px;gap:24px}
.soto-auth__recovery h1 {font-size:24px;line-height:28px}
.soto-auth__recovery p {font-size:14px;line-height:18px}
.soto-auth__recovery-form {display:flex;flex-direction:column;gap:20px}
.soto-auth__back {display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:12px;background:rgba(31,31,31,.07);font-weight:500}
.soto-auth__new-password {text-align:center;font-size:28px;line-height:36px;overflow-wrap:anywhere;user-select:all}
.soto-auth__message {color:#737373;line-height:24px}
.soto-auth__message a {text-decoration:underline;color:#1f1f1f}
@media (max-width:1599px) {
    .soto-auth__page {padding:40px;gap:24px;grid-template-columns:minmax(280px,1fr) minmax(380px,1fr)}
    .soto-auth__methods {flex-wrap:wrap;gap:16px}
    .soto-auth__qr {width:240px;padding:24px;min-height:300px}
    .soto-auth__or {display:none}
}
@media (max-width:1100px) and (min-width:701px) {
    .soto-auth__page {padding:24px;grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}
    .soto-auth__qr {display:none}
    .soto-auth__card {padding:30px}
}
@media (max-width:700px) {
    .soto-auth__page {display:flex;flex-direction:column;gap:14px;min-height:100svh;padding:calc(10px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom))}
    .soto-auth__visual {flex:1;min-height:200px;height:calc(100svh - 335px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:427px;border-radius:14px}
    .soto-auth__preview {object-position:center}
    .soto-auth__logo {top:16px;left:16px;height:30px;width:30px}
    .soto-auth__content {display:block;padding:0}
    .soto-auth__methods {display:block}
    .soto-auth__card {padding:16px;gap:16px;border-radius:14px;width:100%;max-width:none}
    .soto-auth h1 {font-size:24px;line-height:28px;letter-spacing:0}
    .soto-auth__card > header {gap:16px}
    .soto-auth p {margin-top:12px;font-size:14px;line-height:18px}
    .soto-auth__desktop-text, .soto-auth__qr, .soto-auth__faq {display:none}
    .soto-auth__form {display:flex;flex-direction:column;gap:14px}
    .soto-auth__form > .soto-auth__submit {font-size:16px;padding:8px 14px}
    .soto-auth__credentials {gap:14px}
    .soto-auth__options {min-height:16px}
    .soto-auth__recovery {gap:20px}
}
