/* Sign-in family (login, two-step, forgot/reset/change password, verify, resend):
   one split card. Side panel = title + tips, right = the form. Follows Light / Dark / Auto. */
.asp-wrap{max-width:880px;margin:0 auto}
.asp{display:grid;grid-template-columns:290px minmax(0,1fr);background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px -34px rgba(0,0,0,.55)}
.asp-side{background:#e7f3ef;border-right:1px solid #cfe5de;padding:32px 26px}
html[data-theme="dark"] .asp-side{background:var(--soft);border-right-color:var(--border)}
@media (prefers-color-scheme:dark){html[data-theme="auto"] .asp-side{background:var(--soft);border-right-color:var(--border)}}
.asp-side h5{margin:0;color:var(--title);font-size:22px;font-weight:700;letter-spacing:-.2px}
.asp-side h5::after{content:"";display:block;width:36px;height:3px;margin-top:10px;border-radius:3px;background:linear-gradient(90deg,#2ee6c0,#ffb33d)}
.asp-lead{margin:14px 0 0;color:var(--muted);font-size:13.5px;line-height:1.5}
.asp-tips{list-style:none;margin:18px 0 0;padding:0}
.asp-tips li{position:relative;padding:0 0 12px 22px;font-size:13px;line-height:1.45;color:var(--title)}
.asp-tips li::before{content:"";position:absolute;left:2px;top:7px;width:7px;height:7px;border-radius:50%;background:#0b8a78}
html[data-theme="dark"] .asp-tips li::before{background:#2ee6c0}
@media (prefers-color-scheme:dark){html[data-theme="auto"] .asp-tips li::before{background:#2ee6c0}}
.asp-main{padding:34px 40px 28px}
.asp-main .form-group{margin-bottom:16px}
.asp label{display:block;color:var(--muted);font-size:12.5px;font-weight:600;margin-bottom:5px}
.asp .form-control,.asp .code-input{width:100%;background-color:var(--input-bg);color:var(--input-text);border:1px solid var(--input-border);border-radius:10px;padding:0 14px;height:46px;min-height:46px;box-shadow:none}
.asp .form-control:focus,.asp .code-input:focus{background-color:var(--input-bg);color:var(--input-text);border-color:#2ee6c0;box-shadow:0 0 0 3px rgba(46,230,192,.18);outline:0}
.asp .form-control::placeholder,.asp .code-input::placeholder{color:var(--muted);opacity:.7}
.asp .code-input{text-align:center;font-size:20px;font-weight:600;letter-spacing:8px}
.asp .password-input .form-control{padding-right:44px}
.asp small,.asp .asp-hint{display:block;color:var(--muted);font-size:12px;margin-top:5px;line-height:1.45}
.asp-p{margin:0 0 16px;color:var(--muted);font-size:13.5px;line-height:1.5}
.asp-p strong,.asp-p b{color:var(--title)}
.asp a{color:#0b8a78;text-decoration:none;font-weight:600}
html[data-theme="dark"] .asp a{color:#2ee6c0}
@media (prefers-color-scheme:dark){html[data-theme="auto"] .asp a{color:#2ee6c0}}
.asp a:hover{text-decoration:underline}
/* buttons: slim flat teal, same as the other forms */
.asp .btn-primary,.asp .btn-success,.asp .btn-lex{background:#0b8a78 !important;background-image:none !important;color:#fff !important;border:0 !important;border-radius:8px !important;min-height:36px;padding:0 20px;font-size:13.5px;font-weight:600;box-shadow:none !important;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.asp .btn-primary:hover,.asp .btn-success:hover,.asp .btn-lex:hover{background:#097565 !important;text-decoration:none}
html[data-theme="dark"] .asp .btn-primary,html[data-theme="dark"] .asp .btn-success,html[data-theme="dark"] .asp .btn-lex{background:#2ee6c0 !important;color:#07120f !important}
html[data-theme="dark"] .asp .btn-primary:hover,html[data-theme="dark"] .asp .btn-success:hover,html[data-theme="dark"] .asp .btn-lex:hover{background:#26cfae !important}
@media (prefers-color-scheme:dark){html[data-theme="auto"] .asp .btn-primary,html[data-theme="auto"] .asp .btn-success,html[data-theme="auto"] .asp .btn-lex{background:#2ee6c0 !important;color:#07120f !important}}
.asp .btn-ghost{background:transparent;color:var(--title);border:1px solid var(--input-border);border-radius:8px;min-height:36px;padding:0 18px;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;text-decoration:none}
.asp .btn-ghost:hover{border-color:#2ee6c0;text-decoration:none}
.asp-acts{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}
.asp-acts .asp-r{margin-left:auto}
.asp-foot{margin-top:20px;padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:13px}
.asp-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:20px 0}
.asp-or::before,.asp-or::after{content:"";flex:1;height:1px;background:var(--border)}
.asp-chk{display:flex;align-items:center;gap:8px;margin:2px 0 16px}
.asp-chk label{margin:0;font-weight:500}
.asp-chk input{width:15px;height:15px;accent-color:#0b8a78}
.asp details{margin:0 0 16px;border:1px solid var(--border);border-radius:10px;padding:10px 14px;background:var(--soft)}
.asp summary{cursor:pointer;color:#b86a0f;font-size:13px;font-weight:600}
html[data-theme="dark"] .asp summary{color:#ffb33d}
@media (prefers-color-scheme:dark){html[data-theme="auto"] .asp summary{color:#ffb33d}}
.asp-alert{margin:0 0 16px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);font-size:13px}
.asp-alert.error{background:rgba(255,123,123,.12);color:#c0392b;border-color:rgba(255,123,123,.45)}
html[data-theme="dark"] .asp-alert.error{color:#ff9d9d}
@media (prefers-color-scheme:dark){html[data-theme="auto"] .asp-alert.error{color:#ff9d9d}}
.asp-row2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.asp-wrap .alert{margin-bottom:14px}
@media (max-width:780px){.asp{grid-template-columns:1fr}.asp-side{border-right:0;border-bottom:1px solid #cfe5de;padding:22px}html[data-theme="dark"] .asp-side{border-bottom-color:var(--border)}.asp-main{padding:22px}.asp-row2{grid-template-columns:1fr}}

/* win over the glass theme's generic button/link rules */
body .asp .btn-primary,body .asp .btn-success,body .asp .btn-lex{background:#0b8a78 !important;background-image:none !important;color:#fff !important;border:0 !important;border-radius:8px !important;min-height:36px;padding:0 20px;font-size:13.5px;font-weight:600;box-shadow:none !important}
body .asp .btn-primary:hover,body .asp .btn-success:hover,body .asp .btn-lex:hover{background:#097565 !important;background-image:none !important}
html[data-theme="dark"] body .asp .btn-primary,html[data-theme="dark"] body .asp .btn-success,html[data-theme="dark"] body .asp .btn-lex{background:#2ee6c0 !important;color:#07120f !important}
@media (prefers-color-scheme:dark){html[data-theme="auto"] body .asp .btn-primary,html[data-theme="auto"] body .asp .btn-lex{background:#2ee6c0 !important;color:#07120f !important}}
body .asp a.btn-ghost{color:var(--title) !important;background:transparent;border:1px solid var(--input-border);font-size:13.5px}
body .asp .asp-acts a:not(.btn-ghost){font-size:13px;font-weight:600}
body .asp .asp-r{font-size:13px}

/* final: beat the glass theme in every theme */
html[data-theme] body .asp .btn-primary,html[data-theme] body .asp .btn-success,html[data-theme] body .asp .btn-lex{background:#0b8a78 !important;background-image:none !important;color:#fff !important;border:0 !important;box-shadow:none !important;filter:none}
html[data-theme] body .asp .btn-primary:hover,html[data-theme] body .asp .btn-success:hover,html[data-theme] body .asp .btn-lex:hover{background:#097565 !important;filter:none}
html[data-theme="dark"] body .asp .btn-primary,html[data-theme="dark"] body .asp .btn-success,html[data-theme="dark"] body .asp .btn-lex{background:#2ee6c0 !important;color:#07120f !important}
html[data-theme="dark"] body .asp .btn-primary:hover,html[data-theme="dark"] body .asp .btn-lex:hover{background:#26cfae !important}
@media (prefers-color-scheme:dark){
  html[data-theme="auto"] body .asp .btn-primary,html[data-theme="auto"] body .asp .btn-success,html[data-theme="auto"] body .asp .btn-lex{background:#2ee6c0 !important;color:#07120f !important}
  html[data-theme="auto"] body .asp .btn-primary:hover,html[data-theme="auto"] body .asp .btn-lex:hover{background:#26cfae !important}
}
html[data-theme] body .asp .asp-acts a.asp-r,html[data-theme] body .asp .asp-acts a:not(.btn-ghost){font-size:13px !important}
