/*
 * EwoMail Admin - Futuristic Neon Light UI v2
 */

/* ===== 动画 ===== */
@keyframes pageIn { from { opacity:0; transform:translateY(20px) scale(0.98); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes slideDown { from { opacity:0; transform:translateY(-15px); } to { opacity:1; transform:translateY(0); } }
@keyframes slideLeft { from { opacity:0; transform:translateX(-20px); } to { opacity:1; transform:translateX(0); } }
@keyframes cardIn { from { opacity:0; transform:translateY(30px) scale(0.95); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes glow { 0%,100% { box-shadow:0 0 20px rgba(99,102,241,0.06); } 50% { box-shadow:0 0 40px rgba(99,102,241,0.12), 0 0 80px rgba(139,92,246,0.06); } }
@keyframes borderGlow { 0%,100% { border-color:rgba(99,102,241,0.08); } 50% { border-color:rgba(99,102,241,0.2); } }
@keyframes gradientShift { 0% { background-position:0% 50%; } 50% { background-position:100% 50%; } 100% { background-position:0% 50%; } }
@keyframes float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:0.6; } }
@keyframes scanline { 0% { top:-100%; } 100% { top:200%; } }
@keyframes dotPulse { 0%,100% { box-shadow:0 0 0 0 rgba(99,102,241,0.4); } 50% { box-shadow:0 0 0 6px rgba(99,102,241,0); } }
@keyframes textGlow { 0%,100% { text-shadow:0 0 10px rgba(99,102,241,0.3); } 50% { text-shadow:0 0 20px rgba(99,102,241,0.5), 0 0 40px rgba(139,92,246,0.2); } }
@keyframes ripple { to { transform:scale(2.5); opacity:0; } }
@keyframes shimmer { 0% { background-position:-200% center; } 100% { background-position:200% center; } }

/* ===== Base ===== */
* { box-sizing:border-box; margin:0; padding:0; }
body {
	background:#f0f2ff;
	background-image:
		radial-gradient(ellipse at 20% 50%, rgba(99,102,241,0.06) 0%, transparent 50%),
		radial-gradient(ellipse at 80% 20%, rgba(139,92,246,0.05) 0%, transparent 50%),
		radial-gradient(ellipse at 50% 80%, rgba(59,130,246,0.04) 0%, transparent 50%);
	background-attachment:fixed;
	color:#334155; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
	font-size:14px; -webkit-font-smoothing:antialiased; min-height:100vh;
	overflow-x:hidden;
}
a { color:inherit; text-decoration:none; }
a:focus { outline:none; }

/* ===== 表单 ===== */
.form-x .form-group .label { width:10%; }
.form-x .form-group .field { width:90%; }
.form-x .form-group .label-text { width:90%; text-align:left; }
.form-inline .form-group .input-group select { -webkit-appearance:menulist; }
@media screen and (-webkit-min-device-pixel-ratio:0) { .form-inline .form-group .input-group .input { margin-right:5px; } }
.field-text { line-height:35px; }

.input, select.input, textarea.input {
	border:1.5px solid rgba(99,102,241,0.15); border-radius:12px; padding:10px 16px;
	font-size:13px; background:rgba(255,255,255,0.6); backdrop-filter:blur(8px);
	transition:all 0.4s cubic-bezier(0.4,0,0.2,1); color:#334155;
}
.input:focus, select.input:focus {
	border-color:#818cf8; background:#fff;
	box-shadow:0 0 0 4px rgba(129,140,248,0.12), 0 0 20px rgba(99,102,241,0.08);
	outline:none; transform:scale(1.01);
}

/* ===== 顶部导航 ===== */
.header {
	width:100%; height:64px;
	background:rgba(255,255,255,0.6); backdrop-filter:blur(24px) saturate(180%);
	border-bottom:1px solid rgba(99,102,241,0.08);
	position:sticky; top:0; z-index:100;
	animation:slideDown 0.5s cubic-bezier(0.4,0,0.2,1);
}
.header::after {
	content:''; position:absolute; bottom:0; left:0; right:0; height:1px;
	background:linear-gradient(90deg, transparent, rgba(99,102,241,0.3), rgba(139,92,246,0.3), transparent);
	animation:shimmer 3s linear infinite;
	background-size:200% 100%;
}
.header-logo {
	float:left; line-height:64px; padding-left:28px; font-size:22px; font-weight:800;
	background:linear-gradient(135deg,#6366f1,#8b5cf6,#a78bfa,#6366f1);
	background-size:300% 300%; animation:gradientShift 4s ease infinite;
	-webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
	letter-spacing:1px;
	display:flex; align-items:center; gap:10px; height:64px; line-height:normal;
}
.header-logo-img { width:32px; height:32px; display:block; flex-shrink:0; }
.header-text { float:right; color:#64748b; line-height:64px; margin-right:28px; font-size:13px; }
.header-button { float:right; display:flex; align-items:center; height:64px; gap:8px; padding-right:12px; }
.header-button > a, .header-button .button-group > a {
	height:36px; border-radius:10px; line-height:36px; margin:0; display:block; float:left;
	font-weight:600; font-size:12px; padding:0 16px; transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
}
.header-button .button-group { float:left; }
.header-button .drop-menu {
	border-radius:14px; border:1px solid rgba(99,102,241,0.1);
	box-shadow:0 16px 48px rgba(99,102,241,0.15); background:rgba(255,255,255,0.9);
	backdrop-filter:blur(20px); animation:slideDown 0.25s ease;
}

/* ===== 侧边栏 ===== */
.main { position:relative; }
.main-left {
	width:260px; margin-right:-100%; position:relative; float:left; display:block;
	height:auto; overflow:visible;
	background:rgba(255,255,255,0.45); backdrop-filter:blur(20px);
	min-height:calc(100vh - 64px);
	border-right:1px solid rgba(99,102,241,0.06);
	padding-top:12px;
	animation:slideLeft 0.5s cubic-bezier(0.4,0,0.2,1);
}
.main-left::after {
	content:''; position:absolute; right:0; top:0; bottom:0; width:1px;
	background:linear-gradient(180deg, transparent, rgba(99,102,241,0.15), transparent);
}

.main-left-list > li > a {
	padding:11px 18px; margin:3px 14px; font-size:13px; display:block; font-weight:600;
	color:#64748b; border-radius:12px; position:relative;
	transition:all 0.35s cubic-bezier(0.4,0,0.2,1); border:1px solid transparent;
}
.main-left-list > li > a:hover {
	background:rgba(99,102,241,0.06); color:#6366f1; border-color:rgba(99,102,241,0.1);
	transform:translateX(4px);
}
.main-left-list > li > a > .icon { float:right; font-size:14px; margin-right:2px; transition:transform 0.3s; }
.main-left-list > li > a > .selected {
	border-bottom:10px solid transparent; border-right:10px solid #f0f4ff;
	border-top:10px solid transparent; display:block; float:right; height:0;
	position:absolute; right:-14px; top:10px; width:0;
}
.main-left-list > li > a > i { margin-right:10px; color:#94a3b8; font-size:17px; transition:all 0.3s; }
.main-left-list > li > a:hover > i { color:#6366f1; }

.main-left-list > .active > a {
	background:linear-gradient(135deg, rgba(99,102,241,0.9), rgba(139,92,246,0.85));
	color:#fff; border-color:transparent;
	box-shadow:0 4px 24px rgba(99,102,241,0.3), inset 0 1px 0 rgba(255,255,255,0.2);
}
.main-left-list > .active > a::after {
	content:''; position:absolute; inset:0; border-radius:12px;
	background:linear-gradient(135deg, rgba(255,255,255,0.1), transparent);
	pointer-events:none;
}
.main-left-list > .active > a:hover { background:linear-gradient(135deg, rgba(99,102,241,0.95), rgba(139,92,246,0.9)); color:#fff; transform:none; }
.main-left-list > .active > a > i { color:rgba(255,255,255,0.9); }

.main-left-menu { margin:4px 0 8px; display:none; }
.main-left-menu > li > a {
	padding:9px 18px 9px 54px; margin:2px 14px; font-size:13px; display:block; font-weight:500;
	color:#64748b; border-radius:10px; transition:all 0.3s cubic-bezier(0.4,0,0.2,1); position:relative;
}
.main-left-menu > li > a::before {
	content:''; position:absolute; left:34px; top:50%; width:6px; height:6px; border-radius:50%;
	background:#cbd5e1; transform:translateY(-50%); transition:all 0.3s;
}
.main-left-menu > li > a:hover { background:rgba(99,102,241,0.05); color:#6366f1; transform:translateX(4px); }
.main-left-menu > li > a:hover::before { background:#6366f1; box-shadow:0 0 10px rgba(99,102,241,0.5); }
.main-left-menu > li > a > i { display:none; }
.main-left-menu > .active > a { background:rgba(99,102,241,0.08); color:#6366f1; font-weight:600; }
.main-left-menu > .active > a::before {
	background:#6366f1; width:7px; height:7px;
	box-shadow:0 0 0 4px rgba(99,102,241,0.15), 0 0 14px rgba(99,102,241,0.4);
	animation:dotPulse 2s ease infinite;
}

/* ===== 内容区 ===== */
.main-right {
	margin-left:260px; background:transparent;
	min-height:calc(100vh - 64px); padding:24px 28px;
	
}

.main-right .page-bar {
	background:rgba(255,255,255,0.6); backdrop-filter:blur(12px);
	width:100%; padding:14px 22px; margin-bottom:20px; color:#64748b;
	border-radius:14px; border:1px solid rgba(99,102,241,0.06); font-size:13px;
	display:flex; align-items:center;
	
}
.main-right .page-bar a { color:#6366f1 !important; font-weight:500; transition:all 0.2s; }
.main-right .page-bar a:hover { opacity:0.7 !important; text-shadow:0 0 8px rgba(99,102,241,0.3); }
.main-right .page-bar i.iconfont { color:#6366f1; }
.main-right .page-bar > span { margin-left:8px; margin-right:8px; }
.main-right .group-sd label { font-weight:normal; margin-right:5px; }

/* ===== 面板/卡片 ===== */
.panel.admin-panel, .panel.panel-query {
	border:1px solid rgba(99,102,241,0.08); border-radius:18px;
	overflow:hidden; background:rgba(255,255,255,0.6); backdrop-filter:blur(16px);
	margin-bottom:18px; position:relative;
	transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
	
}
.panel.admin-panel::before {
	content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%;
	background:conic-gradient(from 0deg, transparent, rgba(99,102,241,0.03), transparent, rgba(139,92,246,0.03), transparent);
	animation:gradientShift 8s linear infinite;
	pointer-events:none;
}
.panel.admin-panel:hover, .panel.panel-query:hover {
	box-shadow:0 8px 40px rgba(99,102,241,0.12), 0 0 0 1px rgba(99,102,241,0.12);
	transform:translateY(-3px); background:rgba(255,255,255,0.8);
	border-color:rgba(99,102,241,0.15);
}
.panel-query { margin-bottom:14px; }
.panel-query .form-inline .field { margin-right:12px; margin-bottom:8px; }
.panel-query .panel-body { padding:16px 22px; }
.panel-query .addon { background:rgba(99,102,241,0.04); border-color:#e2e8f0; font-size:12px; color:#64748b; font-weight:500; }

.panel-head {
	background:rgba(255,255,255,0.4); border-bottom:1px solid rgba(99,102,241,0.06);
	padding:18px 24px; position:relative; overflow:hidden;
}
.panel-head::before {
	content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
	background:linear-gradient(180deg,#6366f1,#a78bfa);
	box-shadow:0 0 12px rgba(99,102,241,0.4);
}
.panel-head::after {
	content:''; position:absolute; top:0; left:0; right:0; height:100%;
	background:linear-gradient(90deg, rgba(99,102,241,0.03), transparent 30%);
	pointer-events:none;
}
.panel-head strong { font-size:15px; color:#1e293b; font-weight:700; position:relative; z-index:1; }

/* ===== 表格 ===== */
.table { border-collapse:separate; border-spacing:0; width:100%; }
.table th {
	background:rgba(99,102,241,0.03); color:#8b92a5; font-weight:600; font-size:11px;
	padding:14px 20px; border-bottom:1px solid rgba(99,102,241,0.06);
	text-transform:uppercase; letter-spacing:1px;
}
.table td {
	padding:14px 20px; border-bottom:1px solid rgba(99,102,241,0.04);
	font-size:13px; color:#334155; transition:all 0.25s;
}
.table-hover tr { transition:all 0.25s; }
.table-hover tr:hover td { background:rgba(99,102,241,0.04); }
.table-hover tr:hover { transform:scale(1.002); }

/* ===== 按钮 ===== */
.button {
	border-radius:10px; font-weight:600; font-size:13px; border:none; cursor:pointer;
	display:inline-block; vertical-align:middle; line-height:1.5; padding:8px 20px;
	text-decoration:none; position:relative; overflow:hidden;
	transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
}
.button::before {
	content:''; position:absolute; top:50%; left:50%; width:0; height:0;
	background:rgba(255,255,255,0.3); border-radius:50%;
	transform:translate(-50%,-50%); transition:width 0.6s, height 0.6s;
}
.button:hover::before { width:300px; height:300px; }
.button:hover { transform:translateY(-3px); }
.button:active { transform:translateY(-1px); }

.button.bg-main { background:linear-gradient(135deg,#6366f1,#818cf8); color:#fff; }
.button.bg-main:hover { box-shadow:0 8px 25px rgba(99,102,241,0.35); }
.button.bg-green, .button.border-green { background:linear-gradient(135deg,#10b981,#34d399); color:#fff; border:none; }
.button.bg-green:hover, .button.border-green:hover { box-shadow:0 8px 25px rgba(16,185,129,0.35); }
.button.bg-sub { background:linear-gradient(135deg,#8b5cf6,#a78bfa); color:#fff; }
.button.bg-sub:hover { box-shadow:0 8px 25px rgba(139,92,246,0.35); }
.button.border-blue { background:linear-gradient(135deg,#3b82f6,#60a5fa); color:#fff; border:none; }
.button.border-blue:hover { box-shadow:0 8px 25px rgba(59,130,246,0.35); }
.button.border-yellow, .button.bg-yellow { background:linear-gradient(135deg,#f59e0b,#fbbf24); color:#fff; border:none; }
.button.border-yellow:hover, .button.bg-yellow:hover { box-shadow:0 8px 25px rgba(245,158,11,0.35); }
.button.bg-red { background:linear-gradient(135deg,#ef4444,#f87171); color:#fff; }
.button.bg-red:hover { box-shadow:0 8px 25px rgba(239,68,68,0.35); }
.button.bg-gray { background:linear-gradient(135deg,#94a3b8,#cbd5e1); color:#fff; }
.button.bg-gray:hover { box-shadow:0 8px 25px rgba(148,163,184,0.35); }
.button-little, .button-small { padding:5px 14px; font-size:12px; border-radius:8px; }

/* ===== 统计卡片 ===== */
.system-count { margin-bottom:24px; }
.system-count ul li {
	float:left; text-align:center; margin-left:2.5%;
	color:#fff; height:110px; line-height:110px; font-size:18px;
	border-radius:18px; font-weight:700; position:relative; overflow:hidden;
	transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
	
}
.system-count ul li::before {
	content:''; position:absolute; inset:0;
	background:linear-gradient(135deg, rgba(255,255,255,0.2), transparent 50%);
	pointer-events:none;
}
.system-count ul li::after {
	content:''; position:absolute; top:-100%; left:0; right:0; height:50%;
	background:linear-gradient(180deg, rgba(255,255,255,0.15), transparent);
	animation:scanline 3s linear infinite;
	pointer-events:none;
}
.system-count ul li:hover {
	transform:translateY(-6px) scale(1.03);
	box-shadow:0 16px 40px rgba(0,0,0,0.18);
}

/* ===== 分页 ===== */
.page {
	background:rgba(255,255,255,0.3); border-radius:0 0 18px 18px;
	border-top:1px solid rgba(99,102,241,0.06); padding:16px 24px; width:100%; text-align:left;
}
.page a, .page .rows, .page .current {
	background:rgba(255,255,255,0.7); border:1px solid rgba(99,102,241,0.1);
	color:#6366f1; display:inline-block; line-height:1.4; padding:6px 14px;
	border-radius:10px; margin:0 3px; font-size:13px; font-weight:500;
	backdrop-filter:blur(8px); transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
}
.page a:hover, .page .current {
	background:linear-gradient(135deg,#6366f1,#818cf8); border-color:transparent; color:#fff;
	box-shadow:0 4px 16px rgba(99,102,241,0.3); transform:translateY(-2px);
}

/* ===== 提示框 ===== */
.alert { border-radius:14px; padding:14px 20px; border:none; background:rgba(255,255,255,0.7); backdrop-filter:blur(12px); box-shadow:0 2px 12px rgba(0,0,0,0.04); }

/* ===== 登录页 ===== */
.login {
	min-height:100vh; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg,#eef2ff 0%,#faf5ff 50%,#ecfeff 100%);
	position:relative; overflow:hidden;
}
.login > .container {
	padding:10px; text-align:center; position:relative; z-index:1;
	
}
.login-logo { width:72px; height:72px; margin:0 auto 16px; display:block; filter:drop-shadow(0 12px 28px rgba(37,99,235,0.35)); }
.login > .container > h1 {
	font-size:34px; font-weight:800;
	background:linear-gradient(135deg,#6366f1,#8b5cf6,#a78bfa);
	-webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
	animation:textGlow 3s ease infinite;
}
.login > .container > h3 { margin-top:12px; color:#94a3b8; font-weight:400; font-size:15px; }
.login > .container > .form {
	width:400px; margin:28px auto 0; padding:40px;
	background:rgba(255,255,255,0.6); backdrop-filter:blur(24px);
	border-radius:24px; border:1px solid rgba(99,102,241,0.1);
	box-shadow:0 12px 48px rgba(99,102,241,0.1);
	animation:glow 4s ease infinite, cardIn 0.8s cubic-bezier(0.4,0,0.2,1) 0.2s both;
}
.login > .container > .form .input {
	border-radius:14px; padding:14px 18px; border:1.5px solid rgba(99,102,241,0.12);
	font-size:14px; width:100%; background:rgba(255,255,255,0.7);
	transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
}
.login > .container > .form .input:focus {
	border-color:#818cf8; box-shadow:0 0 0 4px rgba(129,140,248,0.1), 0 0 24px rgba(99,102,241,0.08);
	background:#fff; transform:scale(1.02);
}
.login > .container > .form p { margin-bottom:16px; }
.login > .container > .form .captcha-row { display:flex; gap:12px; align-items:stretch; }
.login > .container > .form .captcha-row .input { flex:1; min-width:0; }
.login > .container > .form .captcha-row a { flex:0 0 auto; display:flex; }
.login > .container > .form .captcha-row img {
	width:130px; height:100%; min-height:47px; display:block; cursor:pointer;
	border:1.5px solid rgba(99,102,241,0.12); border-radius:14px; background:#fff;
}
.login > .container > .form .button { width:100%; padding:14px; font-size:15px; border-radius:14px; }

/* ===== 底部 ===== */
.footer { padding:18px 28px; color:#94a3b8; font-size:12px; margin-top:20px; }
.index_copyright { position:absolute; bottom:0; width:100%; z-index:1; }
.index_copyright > .container { text-align:center; color:#94a3b8; }

/* ===== 滚动条 ===== */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:rgba(99,102,241,0.15); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:rgba(99,102,241,0.3); }

/* ===== 工具 ===== */
.padding { padding:18px 24px; }
.border-bottom { border-bottom:1px solid rgba(99,102,241,0.06); }
code { background:rgba(99,102,241,0.06); padding:3px 10px; border-radius:6px; font-size:12px; color:#6366f1; font-family:"SF Mono",Monaco,monospace; }
select.input { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236366f1' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:32px; -webkit-appearance:none; }
@media (max-width:768px) { .main-left { display:none; } .main-right { margin-left:0; } }

/* ===== 修复 input-group 对齐 ===== */
.input-group { border-collapse:separate; display:table; width:100%; }
.input-group .addon, .input-group .addbtn, .input-group .input { display:table-cell; vertical-align:middle; }
.input-group .addon {
	background:rgba(99,102,241,0.05); border:1.5px solid rgba(99,102,241,0.15);
	padding:10px 14px; font-size:13px; color:#64748b; font-weight:500;
	white-space:nowrap; line-height:1.4;
	border-radius:12px 0 0 12px; border-right:none;
}
.input-group .input {
	border-radius:0 12px 12px 0; border-left:none;
	padding:10px 14px; height:auto; line-height:1.4;
}
.input-group select.input {
	padding:10px 32px 10px 14px; height:auto; line-height:1.4;
	border-radius:0 12px 12px 0;
}
.input-group .addon + .input,
.input-group .addon + select.input {
	border-left:none;
}
/* 独立 select 修复 */
.panel-query select.input {
	padding:10px 32px 10px 14px; height:auto; line-height:1.4;
}
/* 查询按钮对齐 */
.panel-query .button {
	vertical-align:middle; padding:10px 20px; line-height:1.4;
}

/* ===== 查询按钮突出显示 ===== */
.panel-query .button,
.form-inline .button {
	background:linear-gradient(135deg,#6366f1,#818cf8) !important;
	color:#fff !important;
	border:none;
	box-shadow:0 4px 15px rgba(99,102,241,0.3);
	padding:10px 24px;
	font-weight:600;
}
.panel-query .button:hover,
.form-inline .button:hover {
	box-shadow:0 6px 24px rgba(99,102,241,0.4) !important;
	transform:translateY(-2px);
}

/* ===== 修复 select 双箭头 ===== */
select.input, .input-group select.input, .panel-query select {
	-webkit-appearance:none !important;
	-moz-appearance:none !important;
	appearance:none !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%236366f1' d='M5 6L0 0h10z'/%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important;
	background-position:right 14px center !important;
	background-color:rgba(255,255,255,0.6) !important;
	padding-right:36px !important;
}
select.input::-ms-expand { display:none; }

/* ===== 操作按钮组对齐 ===== */
td .button-little { min-width:68px; text-align:center; padding:5px 12px; font-size:12px; white-space:nowrap; }

/* ===== 侧边栏与内容区等高 ===== */
div[style="main"], .main {
	overflow:hidden;
}
/* ===== 侧边栏与内容区布局 ===== */

/* ===== 整体放大 ===== */
body { font-size:15px; }
.input, select.input, textarea.input { padding:12px 18px; font-size:14px; }
.table th { font-size:13px; padding:16px 22px; }
.table td { font-size:14px; padding:16px 22px; }
.button { font-size:14px; padding:10px 22px; }
.button-little, .button-small { font-size:13px; padding:7px 16px; }
.main-left-list > li > a { font-size:14px; padding:13px 20px; }
.main-left-menu > li > a { font-size:14px; padding:11px 20px 11px 54px; }
.panel-head strong { font-size:16px; }
.panel-head { padding:20px 26px; }
.padding { padding:20px 26px; }
.main-right { padding:28px 32px; }
.header { height:68px; }
.header-logo { height:68px; font-size:24px; }
.header-logo-img { width:36px; height:36px; }
.header-text { line-height:68px; font-size:14px; }
.header-button { height:68px; }
.header-button > a, .header-button .button-group > a { height:40px; line-height:40px; font-size:13px; padding:0 20px; }
.page a, .page .rows, .page .current { font-size:14px; padding:8px 16px; }
.system-count ul li { height:120px; line-height:120px; font-size:20px; }
td .button-little { min-width:76px; }


/* ===== Radio/Toggle 按钮组 ===== */
.form-x .button-group label.button,
.form-group .button-group label.button,
div.button-group label.button,
.button-group label.button {
	background:#e8eaff !important;
	border:2px solid #c7caff !important;
	color:#6366f1 !important;
	font-size:14px !important;
	padding:10px 28px !important;
	font-weight:700 !important;
	cursor:pointer;
	transition:all 0.25s !important;
	letter-spacing:0.5px;
}
.form-x .button-group label.button:hover,
.form-group .button-group label.button:hover,
div.button-group label.button:hover,
.button-group label.button:hover {
	background:#dde0ff !important;
	border-color:#818cf8 !important;
}
.form-x .button-group label.button.active,
.form-group .button-group label.button.active,
div.button-group label.button.active,
.button-group label.button.active {
	background:linear-gradient(135deg,#6366f1,#818cf8) !important;
	border-color:#6366f1 !important;
	color:#fff !important;
	box-shadow:0 4px 18px rgba(99,102,241,0.35) !important;
}

/* ===== 精确匹配 radio 按钮 ===== */
.radio.button-group label.button,
.radio.button-group-small label.button,
.button-group-small.radio label.button,
.button-group-small label.button {
	background:#e8eaff !important;
	border:2px solid #c7caff !important;
	color:#6366f1 !important;
	font-size:14px !important;
	padding:10px 28px !important;
	font-weight:700 !important;
	line-height:18px !important;
}
.radio.button-group label.button.active,
.radio.button-group-small label.button.active,
.button-group-small.radio label.button.active,
.button-group-small label.button.active {
	background:linear-gradient(135deg,#6366f1,#818cf8) !important;
	border-color:#6366f1 !important;
	color:#fff !important;
	box-shadow:0 4px 18px rgba(99,102,241,0.35) !important;
}

/* ===== 表单内 select 修复 ===== */
.form-x select.input,
.form-group select.input,
.admin select.input,
select.input {
	height:auto !important;
	padding:12px 36px 12px 18px !important;
	line-height:1.4 !important;
	font-size:14px !important;
	-webkit-appearance:none !important;
	-moz-appearance:none !important;
	appearance:none !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%236366f1' d='M5 6L0 0h10z'/%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important;
	background-position:right 14px center !important;
}

/* ===== 全局修复 input 固定高度 ===== */
.input, select.input, .form-x .input, .form-x select.input,
.field .input, .field select.input {
	height:auto !important;
	min-height:42px !important;
	padding:10px 16px !important;
	line-height:1.5 !important;
	font-size:14px !important;
}
select.input {
	padding-right:36px !important;
}

/* ===== input-group 内 select 修复 ===== */
.input-group select.input,
.input-group .input {
	height:auto !important;
	min-height:42px !important;
	padding:10px 16px !important;
	line-height:1.5 !important;
}
.input-group select.input {
	padding-right:36px !important;
}
.input-group .addon {
	padding:10px 16px !important;
	line-height:1.5 !important;
	vertical-align:middle !important;
}

/* ===== 暴力修复所有 select ===== */
select, select.input, td select.input, td select,
table select.input, .table select.input,
.admin select, .admin select.input {
	height:auto !important;
	min-height:42px !important;
	padding:10px 36px 10px 16px !important;
	line-height:1.5 !important;
	font-size:14px !important;
	-webkit-appearance:none !important;
	-moz-appearance:none !important;
	appearance:none !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%236366f1' d='M5 6L0 0h10z'/%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important;
	background-position:right 14px center !important;
	background-color:rgba(255,255,255,0.6) !important;
}

/* ===== 表格列可拖拽调整宽度 ===== */
.table th { position:relative; }

/* ===== 搜索建议下拉 ===== */
#emailSuggest, #domainSuggest {
	border:1.5px solid rgba(99,102,241,0.2) !important;
	border-top:none !important;
	border-radius:0 0 12px 12px;
	background:rgba(255,255,255,0.95) !important;
	backdrop-filter:blur(12px);
	box-shadow:0 8px 24px rgba(99,102,241,0.1), 0 2px 8px rgba(0,0,0,0.05) !important;
	animation:slideDown 0.2s ease;
}
#emailSuggest .suggest-item, #domainSuggest .suggest-item {
	padding:10px 16px !important;
	font-size:13px !important;
	border-bottom:1px solid rgba(99,102,241,0.06) !important;
	transition:all 0.2s ease;
}
#emailSuggest .suggest-item:hover, #domainSuggest .suggest-item:hover {
	background:rgba(99,102,241,0.06) !important;
	color:#6366f1;
	padding-left:20px !important;
}
#emailSuggest .suggest-item:last-child, #domainSuggest .suggest-item:last-child {
	border-bottom:none !important;
	border-radius:0 0 12px 12px;
}

/* 搜索输入框 placeholder 样式 */
#emailSearch::placeholder, #domainSearch::placeholder {
	color:#94a3b8;
	font-style:italic;
}
#emailSearch:focus, #domainSearch:focus {
	border-color:rgba(99,102,241,0.4);
	box-shadow:0 0 0 3px rgba(99,102,241,0.1);
}

/* ===== 搜索面板按钮优化 ===== */
.panel-query .form-inline input[type=submit] {
	background:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
	color:#fff;
	border:none;
	border-radius:12px;
	padding:10px 24px;
	font-weight:500;
	cursor:pointer;
	transition:all 0.3s ease;
	box-shadow:0 4px 12px rgba(99,102,241,0.25);
}
.panel-query .form-inline input[type=submit]:hover {
	transform:translateY(-1px);
	box-shadow:0 6px 20px rgba(99,102,241,0.35);
}

/* ===== 搜索面板紧凑布局 ===== */
.panel-query .form-group {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px;
}
.panel-query .field {
	margin-bottom:0 !important;
}

/* ===== 移动端适配 ===== */
/* 汉堡按钮：桌面端也显示，用于收起/展开侧边栏 */
.mobile-nav-toggle {
	display:flex; flex-direction:column; justify-content:center;
	gap:4px; width:38px; height:68px; float:left; margin-right:6px; margin-left:16px;
	cursor:pointer; align-items:center; border-radius:10px;
	transition:background 0.2s;
}
.mobile-nav-toggle:hover { background:rgba(99,102,241,0.08); }
.mobile-nav-toggle span {
	display:block; width:20px; height:2px; border-radius:2px;
	background:linear-gradient(135deg,#6366f1,#8b5cf6);
	transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
}
.nav-mask { display:none; }

/* 桌面端侧边栏收起状态 */
body.sidebar-collapsed .main-left { display:none; }
body.sidebar-collapsed .main-right { margin-left:0; }
body.sidebar-collapsed .footer { margin-left:0; }
.main-right { transition:margin-left 0.3s cubic-bezier(0.4,0,0.2,1); }

/* 任意宽度下都允许表格横向滚动，防止内容被挤出屏幕 */
.admin-panel { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.panel-body { overflow-x:auto; }

@media (max-width:1024px), (hover:none) and (pointer:coarse) {
	/* 顶栏 */
	.header { display:flex; align-items:center; padding:0 12px; height:50px; }
	.header-logo { float:none; font-size:15px; margin-right:auto; height:50px; line-height:normal; padding-left:0; }
	.header-logo-img { width:24px; height:24px; }
	.header-text { display:none; }
	.header-button { float:none; height:50px; gap:4px; padding-right:0; }
	.header-button .button, .header-button > a, .header-button .button-group > a { height:30px; line-height:30px; padding:0 10px; font-size:12px; }
	.header-button .button-group { position:relative; }
	.header-button .drop-menu { right:0; left:auto; }

	/* 侧边栏 -> 抽屉式导航 */
	.main-left {
		display:block !important; position:fixed; top:0; bottom:0; left:-290px;
		width:270px; margin-right:0; float:none; z-index:1001;
		background:rgba(255,255,255,0.98); backdrop-filter:blur(20px);
		min-height:100vh; overflow-y:auto; -webkit-overflow-scrolling:touch;
		padding-top:56px; animation:none;
		transition:left 0.3s cubic-bezier(0.4,0,0.2,1);
		box-shadow:none;
	}
	body.nav-open .main-left {
		left:0;
		box-shadow:8px 0 40px rgba(30,41,59,0.18);
	}
	.nav-mask {
		display:none; position:fixed; top:0; left:0; right:0; bottom:0;
		background:rgba(15,23,42,0.4); z-index:1000;
	}
	body.nav-open .nav-mask { display:block; }
	body.nav-open { overflow:hidden; }

	/* 汉堡按钮 */
	.mobile-nav-toggle {
		display:flex !important; flex-direction:column; justify-content:center;
		gap:4px; width:38px; height:50px; float:left; margin-right:6px;
		cursor:pointer; align-items:center;
	}
	.mobile-nav-toggle span {
		display:block; width:20px; height:2px; border-radius:2px;
		background:linear-gradient(135deg,#6366f1,#8b5cf6);
		transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
	}
	body.nav-open .mobile-nav-toggle span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
	body.nav-open .mobile-nav-toggle span:nth-child(2) { opacity:0; }
	body.nav-open .mobile-nav-toggle span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

	.header-logo { height:50px; line-height:normal; padding-left:0; }
	.main-right { margin-left:0 !important; padding:12px !important; }
	.footer { margin-left:0 !important; padding:12px !important; }

	/* 面板 */
	.panel { border-radius:8px; margin-bottom:12px; }
	.panel-head { padding:12px 14px; }
	.panel-body { padding:12px 14px; }
	.page-bar { padding:10px 14px; margin-bottom:12px; font-size:12px; }

	/* 搜索表单 */
	.form-inline .form-group { flex-direction:column; align-items:stretch !important; gap:8px !important; }
	.form-inline .form-group .field { width:100% !important; }
	.form-inline .form-group .input-group { display:flex; width:100%; }
	.form-inline .form-group .input-group .addon { min-width:60px; font-size:12px; text-align:center; }
	.form-inline .form-group .input-group .input { flex:1; }
	.form-inline .form-group .input-group select.input { flex:1; }

	/* 表格横向滚动 */
	.table { display:block; overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch; }
	.table th, .table td { padding:10px 12px; font-size:12px; }
	.table th { white-space:nowrap; }

	/* 操作按钮 */
	.padding.border-bottom { padding:10px 14px; flex-wrap:wrap; gap:6px; }
	.button-small, .button-little { padding:5px 10px; font-size:11px; }
	td .button-little { padding:4px 8px; font-size:11px; margin:2px 0; }

	/* 分页 */
	.page { padding:12px 8px; }
	.page a, .page span { padding:5px 10px; font-size:12px; margin:0 1px; }

	/* 编辑表单页 */
	.form-x .form-group { flex-direction:column; }
	.form-x .form-group .label { width:100%; text-align:left; padding:0 0 4px 0; font-size:13px; }
	.form-x .form-group .field { width:100%; }

	/* 搜索建议 */
	#emailSuggest, #domainSuggest { position:fixed !important; left:12px !important; right:12px !important; top:auto !important; max-height:40vh; }

	/* layer弹窗适配 */
	.layui-layer { max-width:95vw !important; margin:0 auto !important; }

	/* 登录页 */
	.login-logo { width:52px; height:52px; margin-bottom:12px; }
	.login > .container > h1 { font-size:26px; }
	.login > .container > h3 { font-size:13px; margin-top:8px; }
}

@media (max-width:480px) {
	.header-button .button.bg-sub,
	.header-button .button.bg-red { display:none; }
	.header-button .button.bg-gray { padding:5px 8px; }
	.table th, .table td { padding:8px 8px; font-size:11px; }
	td div[style*=inline-flex] { flex-wrap:wrap; }
}
