.sf-mobile-auth {
 --sf-accent:#205b73; --sf-ink:#193843; --sf-muted:#637981;
 display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px;
 width:100%; max-width:920px; margin:24px auto; padding:16px;
 background:#f3f7f8; border:1px solid #e4ecef; border-radius:24px;
}
.sf-mobile-auth *, .sf-mobile-account * { box-sizing:border-box; }
.sf-mobile-auth, .sf-mobile-account, .sf-mobile-auth input, .sf-mobile-auth button, .sf-mobile-account input, .sf-mobile-account button { font-family:ShopFaYekanBakh,Tahoma,sans-serif; }
.sf-mobile-panel { min-width:0; padding:28px; background:#fff; border:1px solid #e6edef; border-radius:18px; box-shadow:0 6px 24px #19384306; }
.sf-mobile-heading { margin-bottom:26px; }
.sf-mobile-eyebrow { display:inline-block; color:#205b73; font-size:11px; font-weight:700; padding:5px 10px; background:#edf5f7; border-radius:30px; margin-bottom:12px; }
.sf-mobile-heading h2 { color:#193843; font-size:25px; line-height:1.5; margin:0 0 8px; font-weight:750; }
.sf-mobile-heading p { font-size:13px; line-height:1.9; color:#637981; margin:0; }
.sf-mobile-form { margin:0; }
.sf-mobile-form p { margin-bottom:12px; }
.sf-mobile-form label { color:#193843; font-size:13px; font-weight:600; margin-bottom:8px; display:block; }
.sf-mobile-form input:not([type=hidden]), .sf-mobile-account input:not([type=hidden]) {
 width:100%; max-width:100%; height:48px; padding:10px 14px; margin:0 0 8px;
 border:1px solid #d6e1e5; border-radius:10px; background:#fbfcfd; color:#193843;
 box-shadow:none; font-size:16px; transition:border-color .15s,box-shadow .15s;
}
.sf-mobile-form input:focus, .sf-mobile-account input:focus { border-color:#205b73; box-shadow:0 0 0 3px #205b731a; outline:none; background:#fff; }
.sf-mobile-form button, .sf-mobile-account button {
 display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:46px;
 padding:10px 14px; margin:8px 0 0; border:1px solid #205b73; border-radius:10px;
 background:#205b73; color:#fff; font-size:13px; font-weight:600; line-height:1.8;
 letter-spacing:0; white-space:normal; text-transform:none; box-shadow:none; cursor:pointer;
 transition:background .15s,box-shadow .15s;
}
.sf-mobile-form button:hover, .sf-mobile-account button:hover { background:#18465a; color:#fff; }
.sf-mobile-form button:focus-visible, .sf-mobile-account button:focus-visible { outline:3px solid #205b7340; outline-offset:3px; }
.sf-mobile-options { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:16px 0; }
.sf-mobile-options button { background:#fff; color:#205b73; margin:0; padding:10px 6px; font-size:12px; }
.sf-mobile-options button[aria-pressed=true] { background:#205b73; color:#fff; }
.sf-mobile-form [hidden] { display:none !important; }
.sf-mobile-help { font-size:12px; line-height:1.9; color:#637981; margin:0 0 14px; }
.sf-mobile-status { font-size:13px; line-height:1.9; overflow-wrap:anywhere; color:#205b73; margin:14px 0 0; }
.sf-mobile-status:empty { display:none; }
.sf-mobile-status.is-warning { background:#fff8dc; border:1px solid #f0e4b0; border-radius:10px; color:#6c581c; padding:12px 14px; }
.sf-mobile-form [data-code-panel] { background:#f5f9fa; border:1px solid #e1ebee; border-radius:12px; padding:16px; margin-top:18px; }
.sf-mobile-password { margin:20px 0; }
.sf-mobile-password summary { cursor:pointer; padding:12px 0; color:#205b73; }
.sf-mobile-form [name=code], #shopfa-phone-code { letter-spacing:.3em; text-align:center; font-size:22px; }
.sf-mobile-form button:disabled { opacity:.45; cursor:not-allowed; }
.sf-mobile-form[aria-busy=true] { cursor:progress; }
@media(max-width:600px) {
 .sf-mobile-auth { grid-template-columns:1fr; gap:12px; padding:10px; border-radius:18px; margin:12px auto; }
 .sf-mobile-panel { padding:20px 16px; border-radius:12px; }
 .sf-mobile-heading { margin-bottom:20px; }
 .sf-mobile-heading h2 { font-size:22px; }
 .sf-mobile-options { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .sf-mobile-form input, .sf-mobile-form button { transition:none; } }
