/* 登录 / 申请面板（展示台与空间页共用） */
.sa-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 16px; background: rgba(2,4,8,.62); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); opacity: 0; transition: opacity .3s; }
.sa-modal.on { opacity: 1; }
.sa-card { position: relative; width: min(420px, 100%); max-height: calc(100svh - 32px); overflow: auto; padding: 34px 32px 28px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px;
  background: linear-gradient(180deg, rgba(16,22,34,.96), rgba(7,10,17,.96)); box-shadow: 0 30px 80px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.06);
  transform: translateY(10px) scale(.985); transition: transform .35s cubic-bezier(.2,.8,.2,1); font-family: "PingFang SC", "SG", system-ui, sans-serif; color: #eef4fb; user-select: text; }
.sa-modal.on .sa-card { transform: none; }
.sa-x { position: absolute; top: 14px; right: 16px; width: 32px; height: 32px; border: 0; background: none; color: rgba(236,240,248,.5); font-size: 22px; cursor: pointer; }
.sa-x:hover { color: #fff; }
.sa-k { display: block; font: 300 9.5px "JB", ui-monospace, monospace; letter-spacing: .32em; color: #8fe3ff; font-style: normal; margin-bottom: 12px; }
.sa-card h3 { font: 500 22px/1.3 "SG", "PingFang SC", sans-serif; letter-spacing: .02em; }
.sa-sub { margin: 8px 0 18px; color: rgba(236,240,248,.55); font-size: 13px; line-height: 1.7; }
.sa-card label { display: block; margin: 14px 0 6px; font-size: 12px; letter-spacing: .08em; color: rgba(236,240,248,.55); }
.sa-card input, .sa-card textarea { width: 100%; min-width: 0; padding: 11px 13px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; background: rgba(255,255,255,.04); color: #fff; font: 14px "PingFang SC", system-ui, sans-serif; outline: none; resize: vertical; transition: border-color .2s; }
.sa-card input:focus, .sa-card textarea:focus { border-color: rgba(143,227,255,.55); }
.sa-row { display: flex; gap: 8px; }
.sa-row > * { flex: 1; }
.sa-row > button { flex: none; }
.sa-pri, .sa-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; padding: 0 18px; border-radius: 22px; font: 14px "PingFang SC", sans-serif; letter-spacing: .1em; color: #fff; cursor: pointer; text-decoration: none; white-space: nowrap; transition: background .2s, border-color .2s, opacity .2s; }
.sa-pri { width: 100%; margin-top: 22px; border: 1px solid rgba(143,227,255,.6); background: linear-gradient(100deg, rgba(63,213,255,.42), rgba(70,120,255,.3)); }
.sa-pri:hover { background: linear-gradient(100deg, rgba(63,213,255,.58), rgba(70,120,255,.42)); }
.sa-ghost { border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.04); }
.sa-ghost:hover { border-color: rgba(143,227,255,.5); background: rgba(143,227,255,.08); }
.sa-wide { width: 100%; margin-top: 22px; }
.sa-pri:disabled, .sa-ghost:disabled { opacity: .45; cursor: default; }
.sa-or { display: flex; align-items: center; gap: 12px; margin: 22px 0 14px; color: rgba(236,240,248,.4); font-size: 12px; }
.sa-or::before, .sa-or::after { content: ""; flex: 1; height: 1px; background: rgba(255,255,255,.1); }
.sa-tip { margin-top: 10px; font-size: 12.5px; line-height: 1.7; color: rgba(143,227,255,.85); display: none; }
.sa-tip.on { display: block; }
.sa-err { min-height: 1em; margin-top: 12px; font-size: 13px; color: #ff8a9c; }
.sa-who { display: flex; justify-content: space-between; gap: 12px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; font-size: 13px; color: rgba(236,240,248,.6); }
.sa-who b { font-weight: 400; color: #fff; }
@media (max-width: 480px) { .sa-card { padding: 30px 22px 24px; } }
.sa-hide { display: none; }
.sa-link { display: block; margin: 14px auto 0; border: 0; background: none; font: 12.5px "PingFang SC", sans-serif; letter-spacing: .06em; color: rgba(236,240,248,.45); cursor: pointer; }
.sa-link:hover { color: #fff; }
#sa-pw .sa-pri { margin-top: 22px; }
