/* ==========================================================================
   登录族主题层  login-token.css   (P2 · B 架构 — 2026-09-02)
   设计 tokens: iris-3041   实现: bram-e041

   架构（@atlas-3e19 23:40 拍板）：
     共享 login.css 保持 HEAD 原样不动（排队大屏也用它）
     四个登录模板额外加载：admin-theme.css（layui 组件覆盖）+ 本文件（变量 + 登录页特有）
     排队大屏物理不加载这两个文件 → 隔离靠"根本拿不到"，不靠 CSS 选择器

   依赖契约：本文件提供 admin-theme.css 消费的全部 --admin-* 变量，
     两者必须成对加载，缺一会导致组件样式静默 fallback。

   为什么变量放这里而不是 admin.css：
     登录族不 include public/css.html，加载不到 admin.css 的 :root。
     本文件是那套 token 的同源副本 —— 改 token 请同步 admin.css 的 :root 段。
   ========================================================================== */

:root {
	--admin-brand-primary: #12A45C;
	--admin-primary: #0C8248;
	--admin-primary-hover: #096C3C;
	--admin-primary-active: #075A33;
	--admin-primary-light: #4FC585;
	--admin-primary-pale: #A8E3C3;
	--admin-primary-bg: #EAF7F0;
	--admin-focus-ring: rgba(18, 164, 92, .24);

	--admin-error: #D92D38;
	--admin-error-fill: #F5333F;
	--admin-error-bg: #FFECEE;

	/* admin-theme.css 依赖的其余 token（登录页当前不命中，但必须提供，
	   否则将来登录页出现对应组件时会静默 fallback 无值） */
	--admin-accent: #FF5C1A;
	--admin-info: #2458D3;
	--admin-info-fill: #2F6BFF;
	--admin-warning: #C97900;
	--admin-warning-fill: #FF9F0A;
	--admin-radius-lg: 10px;
	--admin-surface-raised: #FCFDFC;
	--admin-shadow-card: 0 1px 2px rgba(15, 36, 25, .06), 0 4px 14px rgba(15, 36, 25, .04);

	--admin-text-title: #1D2A22;
	--admin-text-primary: #2F3B33;
	--admin-text-secondary: #66716A;
	--admin-text-muted: #8A938E;
	--admin-text-disabled: #B2B5BE;
	--admin-border: #E1E7E3;
	--admin-border-strong: #CDD5D0;
	--admin-neutral-50: #F6F8F7;
	--admin-neutral-100: #EDF1EF;
	--admin-card-bg: #FFFFFF;
	--admin-radius-md: 6px;
}

/* ── 登录页外壳（login.css 原本的冷色系覆盖）── */
.login-page {
	background-color: var(--admin-primary-active);
	background-image: linear-gradient(135deg, var(--admin-primary-active) 0%, var(--admin-primary) 52%, var(--admin-brand-primary) 100%);
}
.login-card-title { color: var(--admin-text-title); }
.login-options,
.login-options .layui-form-checkbox[lay-skin=primary] span { color: var(--admin-text-secondary); }

/* ── 输入框（覆盖 login.css 的冷色描边）── */
.layadmin-user-login-body .layui-form-item .layui-input {
	border-color: var(--admin-border);
	background: var(--admin-neutral-50);
	color: var(--admin-text-primary);
}
.layadmin-user-login-body .layui-form-item .layui-input:hover { border-color: var(--admin-border-strong); }
.layadmin-user-login-body .layui-form-item .layui-input:focus {
	border-color: var(--admin-brand-primary) !important;
	background: #fff;
	box-shadow: 0 0 0 3px var(--admin-focus-ring);
}

/* ── 提交按钮 ── */
.login-submit-btn {
	height: 48px;
	line-height: 48px;
	border-radius: var(--admin-radius-md);
	font-size: 15px;
	font-weight: 600;
	background: var(--admin-primary) !important;
	box-shadow: 0 8px 20px rgba(15, 36, 25, .18);
}
.login-submit-btn:hover {
	background: var(--admin-primary-hover) !important;
	box-shadow: 0 10px 24px rgba(15, 36, 25, .22);
	opacity: 1;
}

/* ── 链接 / 结果提示 ── */
.layadmin-user-jump-change { color: var(--admin-primary); }
.login-result-toast { color: var(--admin-text-title); }
.login-result-toast.is-success .login-result-toast-icon { background: var(--admin-primary); }
.login-result-toast.is-error .login-result-toast-icon { background: var(--admin-error); }
.login-result-toast-title { color: var(--admin-text-title); }
.login-result-toast-msg { color: var(--admin-text-secondary); }

/* ── 卡片几何统一（Iris 视觉收口）──
   主登录原本有 8px 圆角 + 阴影，注册/收银台没有；
   三页统一到同一规格，避免"1 个精修页 + 2 个旧壳"的观感。 */
.layadmin-user-login-main.login-card {
	border-radius: 8px;
	box-shadow: 0 24px 70px rgba(7, 22, 38, .28);
}
/* 居中回归修复：主登录靠 .login-layout(grid) 居中，注册/收银台的父容器是
   display:block，而 login.css 的 .login-card{margin:0} 覆盖了原本的 margin:auto。
   这里只在"没有 .login-layout 祖先"的情况下补水平居中，不影响主登录。 */
.layadmin-user-login > .layadmin-user-login-main.login-card {
	margin-left: auto;
	margin-right: auto;
}
