/* 登录面板:页头弹出的模态框与 /login 内联卡片共用一套样式(fragments/auth :: panel)
   .form-error / .form-success 由 site.css 提供,这里只补面板自己的排版。 */

.auth-backdrop { padding: 20px; }
.auth-modal { position: relative; width: min(420px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-lg); padding: 32px 30px 26px; }
.auth-standalone { width: min(460px, calc(100% - 32px)); margin: 0 auto; padding: 48px 0 64px; }
.auth-panel-inline { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 34px 32px 28px; }

.auth-panel .is-hidden { display: none; }
.auth-panel-head { margin-bottom: 20px; }
.auth-logo { display: block; height: 38px; width: auto; }
.auth-lead { margin: 12px 0 0; color: var(--muted); font-size: .88rem; line-height: 1.6; }

.auth-tabs { display: flex; gap: 22px; border-bottom: 1px solid var(--border); }
.auth-tab { padding-bottom: 10px; margin-bottom: -1px; border-bottom: 2px solid transparent; color: var(--muted); font-weight: 700; font-size: .95rem; text-decoration: none; cursor: pointer; }
.auth-tab:hover { color: var(--primary); }
.auth-tab.is-active { color: var(--primary); border-bottom-color: var(--primary); }

.auth-panel .form-error,
.auth-panel .form-success { margin: 16px 0 0; font-size: .88rem; }
.auth-panel label { display: block; margin-top: 16px; font-weight: 700; font-size: .92rem; }
.auth-panel input { display: block; width: 100%; min-height: 46px; margin-top: 7px; border: 1px solid #d6cfc9; border-radius: var(--radius-sm); padding: 10px 14px; font: inherit; }
.auth-panel input:focus { border-color: var(--primary); outline: none; box-shadow: 0 0 0 3px var(--primary-soft); }
.auth-panel .button { margin-top: 18px; }
.auth-phone-row { display: flex; gap: 8px; align-items: flex-start; }
.auth-phone-row input { flex: 1; }
.auth-phone-row .button { flex: 0 0 auto; margin-top: 7px; min-height: 46px; white-space: nowrap; }
.auth-panel .form-note { margin-top: 14px; }
.auth-panel .form-note a { color: var(--primary); font-weight: 700; }

/* ---------- 管理后台登录页 ---------- */
/* 不套站点 layout:左边一句话说明这是什么地方,右边就是那份共用的登录面板。
   深色只用在说明侧,面板保持和前台一致——同一套控件,换一个语境。 */
.admin-login-body { min-height: 100vh; background: var(--ink); }
.admin-login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1fr) 420px; align-items: center; gap: 64px;
    width: min(1100px, calc(100% - 48px)); margin: 0 auto; padding: 48px 0; }
.admin-login-aside { color: #fff; }
.admin-login-eyebrow { margin: 0; color: var(--primary); font-weight: 800; letter-spacing: .18em; font-size: .78rem; text-transform: uppercase; }
.admin-login-aside h1 { margin: 10px 0 18px; font-size: clamp(2rem, 4vw, 3rem); color: #fff; }
.admin-login-aside p { color: rgba(255, 255, 255, .72); line-height: 1.75; margin: 0 0 12px; max-width: 34em; }
.admin-login-note { font-size: .88rem; color: rgba(255, 255, 255, .55) !important; }
.admin-login-note a { color: #fff; font-weight: 700; }
.admin-login-shell .auth-panel-inline { padding: 34px 32px 28px; }

@media (max-width: 900px) {
    .admin-login-shell { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 40px 0; }
    .admin-login-aside h1 { font-size: 1.9rem; }
}

@media (max-width: 480px) {
    .auth-modal { padding: 26px 20px 22px; }
    .auth-panel-inline { padding: 26px 20px 22px; }
}
