.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-family:inherit;font-size:inherit;line-height: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 #1f1f1f;outline-offset:3px}
.soto-auth__page {display:grid;grid-template-columns:1fr 1fr;gap:40px;min-height:100svh;padding:40px}
.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:stretch;gap:20px;width:100%}
.soto-auth__methods > .soto-auth__card:first-child {flex:0 1 454px;align-self:flex-start}
.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:0}
.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}
.soto-auth__form > .soto-auth__submit .soto-auth__submit-label {display:none}
.soto-auth__form > .soto-auth__options {grid-column:1/-1;grid-row:2}
.soto-auth__form > .soto-auth__errors {grid-row:1}
.soto-auth__form > .soto-auth__errors ~ .soto-auth__credentials, .soto-auth__form > .soto-auth__errors ~ .soto-auth__submit {grid-row:2}
.soto-auth__form > .soto-auth__errors ~ .soto-auth__options {grid-row:3}
.soto-auth__field {position:relative;display:block;margin:0;font-weight:400}
.soto-auth__field > span {position:absolute;z-index:1;top:-7px;left:13px;padding:0 2px;background:#fff;color:#a3a3a3;font-size:12px;line-height:14px}
.soto-auth__field:focus-within > span {color:#1f1f1f}
.soto-auth__field input {width:100%;height:40px;padding:9px 15px;border:1px solid #d4d4d4;border-radius:8px;color:#1f1f1f;background:#fff;outline:none;box-shadow:none}
.soto-auth__field input:focus {border-color:#1f1f1f;outline:none;box-shadow:none}
.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:#1f1f1f}
.soto-auth__eye[aria-pressed="false"] .soto-auth__eye-hide, .soto-auth__eye[aria-pressed="true"] .soto-auth__eye-show {display:none}
.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__remember input:checked + span {color:#1f1f1f}
.soto-auth__submit {display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(31,31,31,.25);border-radius:8px;background:#f17a26;min-height:40px;padding:9px 17px;color:#fff!important;font-size:16px;line-height:20px;font-weight:500;text-align:center}
.soto-auth__submit--primary {background:#1f1f1f}
.soto-auth__submit:disabled {opacity:.6;cursor:wait}
.soto-auth__or {flex:none;align-self:center;width:55px;text-align:center;color:#a3a3a3;font-size:16px;line-height:20px}
/* The form alone sets the row height; the QR panel fills its stretched column. */
.soto-auth__qr-column {position:relative;flex:1 1 281px;min-width:0}
.soto-auth__qr {position:absolute;inset:0;max-width:none;align-items:center;justify-content:center;text-align:center;gap:14px}
.soto-auth__qr-slot {position:relative;flex:0 1 auto;min-height:0;width:100%;aspect-ratio:1;container-type:size}
.soto-auth__qr-code, .soto-auth__qr-refresh {position:absolute;top:50%;left:50%;width:min(100cqw,100cqh);height:min(100cqw,100cqh);transform:translate(-50%,-50%)}
.soto-auth__qr-code {display:flex;align-items:center;justify-content:center}
.soto-auth__qr-code svg {display:block;width:100%;height:100%}
.soto-auth__qr-copy {flex:none;width:100%;min-width:0}
.soto-auth__qr-copy h2 {font-size:16px;line-height:20px;font-weight:500;margin:0}
.soto-auth__qr-copy p {margin-top:8px}
.soto-auth__qr-refresh {display:flex;align-items:center;justify-content:center;padding:16px;border:0;border-radius:12px;background:#f5f5f5;color:#1f1f1f;font-weight:500;text-align:center}
.soto-auth__qr-refresh:disabled {cursor:wait;color:#a3a3a3}
.soto-auth [hidden] {display:none!important}
.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__dialog {width:380px;max-width:calc(100% - 28px);max-height:calc(100svh - 28px);margin:auto;padding:40px;border:0;border-radius:50px;background:#fff;color:#1f1f1f;font:inherit;text-align:center;overflow:auto}
.soto-auth__dialog[open] {display:flex;flex-direction:column;align-items:center;gap:30px}
.soto-auth__dialog::backdrop {background:rgba(31,31,31,.25)}
.soto-auth__dialog > header {display:flex;flex-direction:column;gap:30px;width:100%}
.soto-auth__dialog > header h1, .soto-auth__dialog > header p {text-box-trim:trim-both;text-box-edge:cap alphabetic}
.soto-auth__dialog > header p {margin:0}
.soto-auth__dialog .soto-auth__recovery-form {width:100%;gap:30px}
.soto-auth__dialog .soto-auth__submit {align-self:center}
.soto-auth__dialog .soto-auth__recovery-email {margin:0;color:#1f1f1f;overflow-wrap:anywhere;max-width:100%}
.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 (min-width:1600px) {
    .soto-auth__brand-line {white-space:nowrap}
}
@media (max-width:1599px) {
    .soto-auth__page {grid-template-columns:minmax(240px,1fr) minmax(650px,1.5fr)}
    .soto-auth__qr {padding:24px}
    .soto-auth__or {display:none}
}
@media (max-width:1100px) and (min-width:701px) {
    .soto-auth__page {grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}
    .soto-auth__qr-column {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-column {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__form > .soto-auth__submit .soto-auth__submit-label {display:inline}
    .soto-auth__credentials {gap:14px}
    .soto-auth__options {min-height:16px}
    .soto-auth__recovery {gap:20px}
    .soto-auth__dialog {padding:30px 24px;border-radius:30px}
}
