/* ===== SJ UX 2026：轻提示 + 登录弹窗 ===== */
#sj-toast-box{position:fixed;z-index:100000;left:50%;top:18px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;max-width:92vw}
.sj-toast{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;background:rgba(17,24,39,.92);color:#fff;font-size:14px;line-height:1.5;box-shadow:0 12px 32px rgba(17,24,39,.22);opacity:0;transform:translateY(-8px);transition:opacity .22s ease,transform .22s ease;max-width:92vw;word-break:break-all}
.sj-toast.in{opacity:1;transform:translateY(0)}
.sj-toast.out{opacity:0;transform:translateY(-8px)}
.sj-toast.is-ok{background:linear-gradient(135deg,#6d5ef2,#8b7bff)}
.sj-toast.is-err{background:rgba(220,38,38,.95)}
.sj-toast-ico{width:6px;height:6px;border-radius:50%;background:#fff;flex:0 0 auto;opacity:.9}

/* 登录弹窗 */
#signin-modal .modal-content{border:0;border-radius:18px;box-shadow:0 24px 64px rgba(17,24,39,.22);overflow:hidden}
#signin-modal .modal-header{border-bottom:1px solid #f1f1f6;padding:14px 18px 0;background:#fff}
#signin-modal .modal-body{padding:18px}
#signin-modal .nav-tabs{border:0}
#signin-modal .nav-link{border:0;color:#6b7280;font-weight:600;background:transparent}
#signin-modal .nav-link.active{color:#6d5ef2;background:transparent;border-bottom:2px solid #6d5ef2}
#signin-modal .form-control{height:46px;border-radius:12px;border:1px solid #e8e8f0;background:#fafafd;font-size:15px}
#signin-modal .form-control:focus{border-color:#6d5ef2;box-shadow:0 0 0 3px rgba(109,94,242,.12);background:#fff}
#signin-modal .btn-primary{height:46px;border:0;border-radius:12px;background:linear-gradient(135deg,#6d5ef2,#8b7bff);font-weight:600;box-shadow:0 8px 20px rgba(109,94,242,.26)}
#signin-modal .modal-header .close{font-size:26px;font-weight:300;opacity:.45;padding:.5rem .75rem;margin:-.5rem -.75rem -.5rem auto}
@media (max-width:575.98px){#signin-modal .modal-dialog{margin:.6rem}#signin-modal .modal-content{border-radius:16px}}
