/* === Auth modals (robust) === */
.ms-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:saturate(120%) blur(2px);opacity:0;pointer-events:none;transition:opacity .18s ease}
.ms-modal-overlay.is-open{opacity:1;pointer-events:auto;z-index:9998}
.ms-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:9999}
.ms-modal.is-open{opacity:1;pointer-events:auto}
.ms-modal__card{width:min(560px,92vw);border-radius:16px;background:var(--ms-surface,#101014);box-shadow:0 10px 30px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08);color:var(--ms-text,#EDEDED)}
.ms-modal__head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.08)}
.ms-modal__title{font-size:1.25rem;font-weight:700;letter-spacing:.2px}
.ms-modal__close{appearance:none;border:0;background:transparent;font-size:1.25rem;cursor:pointer;line-height:1;color:inherit}
.ms-modal__body{padding:18px 22px 8px}
.ms-modal__row{display:flex;gap:12px}
.ms-modal__row>*{flex:1}
.ms-field{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.ms-label{font-size:.9rem;opacity:.9}
.ms-input{width:100%;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:inherit;outline:none}
.ms-input:focus{border-color:rgba(180,140,255,.7);box-shadow:0 0 0 3px rgba(180,140,255,.18)}
.ms-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:18px 0 6px}
.ms-btn{appearance:none;border:0;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer}
.ms-btn--primary{background:linear-gradient(135deg,#8A5BFF,#B68CFF);color:white}
.ms-btn[disabled]{opacity:.6;cursor:not-allowed}
.ms-muted{opacity:.8;font-size:.9rem}
.ms-link{cursor:pointer;text-decoration:underline dotted}
@media (max-width:480px){.ms-modal__row{flex-direction:column}}
/* toast */
.ms-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);padding:12px 16px;border-radius:10px;background:rgba(0,0,0,.85);color:#fff;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:10000;opacity:0;transition:opacity .2s, transform .2s}
.ms-toast.is-show{opacity:1;transform:translateX(-50%) translateY(-4px)}
@supports not (backdrop-filter: blur(2px)){.ms-modal-overlay{background:rgba(0,0,0,.75)}}
