/* 登入頁：沒有外框（還沒登入，沒有功能區可畫），一張卡片置中 */
.plg-body { min-height: 100vh; margin: 0; background: var(--bg); }
.plg-main { display: grid; place-items: center; min-height: 100vh; padding: 26px 16px; box-sizing: border-box; }
.plg-card { display: grid; gap: var(--gap-block); width: 100%; max-width: 380px; padding: 30px 26px 22px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); box-sizing: border-box; }
.plg-brand { display: grid; justify-items: center; gap: var(--gap-tight); text-align: center; }
.plg-brand h1 { margin: 0; font-size: 20px; line-height: 1.35; }
.plg-mark { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 14px; background: var(--primary); color: var(--on-primary); font-size: 18px; font-weight: 800; overflow: hidden; }
.plg-mark.has-img { background: none; }
.plg-mark img { width: 100%; height: 100%; object-fit: contain; }
.plg-form { display: grid; gap: var(--gap-inner); }
.plg-pw { position: relative; display: block; }
.plg-pw input { padding-right: 48px; }
.plg-eye { position: absolute; top: 0; right: 0; display: grid; place-items: center; width: 46px; height: 44px; border: 0; border-radius: 10px; background: none; color: var(--muted); }
.plg-eye.is-showing { color: var(--p-ink); }
.plg-error { min-height: 1.2em; margin: 0; color: var(--bad); font-size: 13px; }
.plg-error:empty { display: none; }
.plg-submit, .plg-bio { width: 100%; min-height: 46px; }
.plg-or { display: flex; align-items: center; gap: var(--gap-tight); color: var(--muted); font-size: 12px; }
.plg-or::before, .plg-or::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.plg-version { margin: 0; color: var(--muted); font-size: 11px; text-align: center; }
.plg-version:empty { display: none; }
