@charset "UTF-8";
/* ============================================================
   AI 营销中心 · 独立工作区（明亮精致 SaaS 风 · 对齐官网）
   市面主流商用后台设计语言：白底 + 青绿品牌点睛 + 卡片分层 + 柔和阴影
   ============================================================ */
:root{
	--geo-brand:#00C9A7;
	--geo-brand-1:#00BBA7;
	--geo-brand-2:#00A88F;
	--geo-brand-3:#008E7A;
	--geo-grad:linear-gradient(135deg,#007861 0%,#00695c 100%);
	--geo-grad-soft:linear-gradient(135deg,rgba(0,187,167,.10),rgba(0,201,167,.10));
	--geo-ink:#0f172a;
	--geo-text:#334155;
	--geo-muted:#64748b;
	--geo-line:#e6e8f0;
	--geo-bg:#ffffff;
	--geo-bg-soft:#f8fafc;
	--geo-bg-alt:#f1fbf9;
	--geo-shadow:0 1px 3px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.06);
	--geo-shadow-brand:0 6px 18px rgba(0,187,167,.28);
	--geo-side-w:232px;
	--geo-top-h:62px;
}
html, body { margin:0; padding:0; height:100%; background:var(--geo-bg-soft); }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; color:var(--geo-text); -webkit-font-smoothing:antialiased; }
.geo-ws *::-webkit-scrollbar{width:6px;height:6px}
.geo-ws *::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}
.geo-ws *::-webkit-scrollbar-thumb:hover{background:#94a3b8}

.geo-ws { display:flex; flex-direction:column; height:100vh; overflow:hidden; }

/* ---------- 顶栏（白底玻璃，浮于主区） ---------- */
.geo-topbar {
	flex:none; height:var(--geo-top-h);
	display:flex; align-items:center; gap:16px;
	padding:0 24px;
	background:rgba(255,255,255,.88);
	backdrop-filter:saturate(180%) blur(12px);
	border-bottom:1px solid var(--geo-line);
	box-shadow:0 1px 0 rgba(15,23,42,.02), 0 4px 16px rgba(15,23,42,.05);
	z-index:30; position:relative;
}
.geo-brand { display:flex; align-items:center; gap:12px; min-width:0; text-decoration:none; cursor:pointer; transition:opacity .2s; }
.geo-brand:hover { opacity:.88; }
.geo-brand:hover .geo-mark { filter:brightness(1.08); }
.geo-mark {
	flex:none; width:40px; height:40px; border-radius:11px;
	background:var(--geo-grad); color:#fff;
	display:flex; align-items:center; justify-content:center;
	font-weight:800; font-size:14px; letter-spacing:.5px;
	box-shadow:var(--geo-shadow-brand);
}
.geo-brand-text { display:flex; flex-direction:column; line-height:1.2; min-width:0; }
.geo-ws-name { font-size:16px; font-weight:700; color:var(--geo-ink); letter-spacing:.2px; }
.geo-ws-name em { font-style:normal; background:linear-gradient(135deg,#007861,#00594c); -webkit-background-clip:text; background-clip:text; color:transparent; }
.geo-shop-name { font-size:12px; color:var(--geo-muted); margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.geo-topbar-actions { margin-left:auto; display:flex; align-items:center; gap:12px; }
.geo-back {
	display:flex; align-items:center; gap:6px;
	font-size:13px; font-weight:600; color:var(--geo-brand-3);
	padding:8px 14px; border-radius:9px;
	background:#fff; border:1px solid var(--geo-line);
	transition:all .2s; cursor:pointer; white-space:nowrap;
}
.geo-back:hover { border-color:var(--geo-brand-1); color:var(--geo-brand); background:var(--geo-bg-alt); transform:translateY(-1px); box-shadow:var(--geo-shadow); }
.geo-user { display:flex; align-items:center; gap:8px; }
.geo-avatar {
	width:32px; height:32px; border-radius:50%;
	background:var(--geo-grad-soft); color:var(--geo-brand-3);
	display:flex; align-items:center; justify-content:center;
	font-weight:700; font-size:13px; border:1px solid rgba(0,187,167,.2);
}
.geo-user-name { font-size:13px; color:var(--geo-text); }

/* 汉堡（移动端） */
.geo-burger { display:none; flex-direction:column; gap:4px; width:34px; height:34px; border:1px solid var(--geo-line); background:#fff; border-radius:8px; align-items:center; justify-content:center; cursor:pointer; flex:none; }
.geo-burger span { width:16px; height:2px; background:var(--geo-text); border-radius:2px; }

/* ---------- body ---------- */
.geo-body { flex:1; display:flex; overflow:hidden; position:relative; }

/* 遮罩 */
.geo-overlay { display:none; position:absolute; inset:0; background:rgba(15,23,42,.32); z-index:40; opacity:0; transition:opacity .25s; }
.geo-overlay.show { display:block; opacity:1; }

/* ---------- 左侧导航（白底卡片化） ---------- */
.geo-sidebar {
	flex:none; width:var(--geo-side-w);
	background:var(--geo-bg);
	border-right:1px solid var(--geo-line);
	overflow-y:auto; overflow-x:hidden;
	padding:14px 12px 20px;
	display:flex; flex-direction:column;
}
.geo-side-head { display:flex; align-items:center; gap:7px; padding:6px 10px 12px; font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; color:var(--geo-muted); }
.geo-side-dot { width:6px; height:6px; border-radius:50%; background:var(--geo-grad); box-shadow:0 0 8px rgba(0,201,167,.6); }

.geo-nav-group {
	margin:16px 8px 8px;
	padding:8px 12px 8px 14px;
	font-size:10.5px; font-weight:800; letter-spacing:1.3px; text-transform:uppercase;
	color:#007861;
	background:linear-gradient(90deg,#e7faf5 0%,rgba(241,251,249,.45) 70%,transparent 100%);
	border-left:3px solid #00C9A7;
	border-radius:0 8px 8px 0;
	position:relative;
}
.geo-nav-group:first-of-type { margin-top:6px; }

.geo-nav-item {
	display:flex; align-items:center; gap:11px;
	padding:10px 12px; margin:2px 0;
	color:var(--geo-text); font-size:13.5px; font-weight:500;
	border-radius:10px; position:relative; transition:all .18s;
	text-decoration:none; line-height:1.3;
}
.geo-nav-item svg { flex:none; width:18px; height:18px; color:var(--geo-muted); transition:color .18s; }
.geo-nav-item span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.geo-nav-item:hover { background:var(--geo-bg-alt); color:var(--geo-brand-3); }
.geo-nav-item:hover svg { color:var(--geo-brand-1); }
.geo-nav-item.active {
	background:var(--geo-grad); color:#fff;
	box-shadow:var(--geo-shadow-brand);
	font-weight:600;
}
.geo-nav-item.active svg { color:#fff; }

.geo-side-foot { margin-top:auto; padding:14px 12px 4px; font-size:11px; color:#64748b; text-align:center; border-top:1px dashed var(--geo-line); }

/* ---------- 主区（浅灰底衬白卡） ---------- */
.geo-content {
	flex:1; overflow-y:auto;
	padding:26px 30px 40px;
	background:var(--geo-bg-soft);
}
.geo-content > :first-child { margin-top:0; }

/* ============================================================
   工作区通用组件基底（所有 geomarketing 页面统一青绿风）
   用 .geo-content 前缀提高特异性，覆盖各页内联默认
   ============================================================ */
.geo-content h3,.geo-content h4 { color:var(--geo-ink); font-weight:700; }
.geo-content p,.geo-content li { color:#475569; }
.geo-content a:not(.layui-btn) { color:#007861; }
.geo-content a:not(.layui-btn):hover { color:#00594c; }

/* 按钮 */
.geo-content .layui-btn { border-radius:8px; font-weight:600; transition:all .2s; }
.geo-content .layui-btn:not(.layui-btn-primary):not(.layui-btn-xs):not(.layui-btn-warm):not(.layui-btn-danger):not(.layui-btn-success){background:linear-gradient(135deg,#007861,#00695c)!important;color:#fff!important;border:none;}
.geo-content .layui-btn-normal,.geo-content .layui-btn-warm,.geo-content .layui-btn-danger,.geo-content .layui-btn-success,.geo-content .layui-btn.ypui-bg-color{color:#fff!important;}
.geo-content .layui-btn-normal { background:linear-gradient(135deg,#007861,#00695c); color:#fff; border:none; }
.geo-content .layui-btn-normal:hover { transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,187,167,.32); filter:brightness(1.05); }
.geo-content .layui-btn-primary,.geo-content .layui-btn-xs:not(.layui-btn-normal):not(.layui-btn-warm):not(.layui-btn-danger):not(.layui-btn-success){ background:#fff; border:1px solid #cbd5e1; color:#007861; }
.geo-content .layui-btn-primary:hover,.geo-content .layui-btn-xs:not(.layui-btn-normal):not(.layui-btn-warm):not(.layui-btn-danger):not(.layui-btn-success):hover { border-color:#007861; color:#00594c; background:#f1fbf9; }
.geo-content .layui-btn-sm { border-radius:7px; }

/* 卡片 */
.geo-content .layui-card { border-radius:14px; box-shadow:0 1px 3px rgba(15,23,42,.04); border:1px solid var(--geo-line); overflow:hidden; }
.geo-content .layui-card-header { font-weight:700; color:var(--geo-ink); border-bottom:1px solid var(--geo-line); background:#fcfcfd; }

/* 表格 */
.geo-content .layui-table { border-radius:10px; border:1px solid var(--geo-line); }
.geo-content .layui-table thead tr { background:var(--geo-bg-alt); }
.geo-content .layui-table thead th { color:var(--geo-ink); font-weight:700; }
.geo-content .layui-table tbody tr:hover { background:#f6fdfb; }

/* 表单 */
.geo-content .layui-input,.geo-content .layui-textarea,.geo-content .layui-select { border-radius:8px; border-color:var(--geo-line); transition:border-color .2s,box-shadow .2s; }
.geo-content .layui-input:focus,.geo-content .layui-textarea:focus,.geo-content .layui-select:focus { border-color:var(--geo-brand-1); box-shadow:0 0 0 3px rgba(0,201,167,.12); }
.geo-content .layui-form-label { color:var(--geo-text); font-weight:600; }

/* 标签 */
.geo-content .layui-badge-rim,.geo-content .layui-btn-primary { border-color:var(--geo-line); }
.geo-content .layui-bg-green { background-color:var(--geo-brand)!important; }

/* tab */
.geo-content .layui-tab-brief>.layui-tab-title .layui-this { color:var(--geo-brand); }
.geo-content .layui-tab-brief>.layui-tab-title .layui-this:after { border-bottom-color:var(--geo-brand); }

/* 分页 */
.geo-content .layui-laypage .layui-laypage-curr em { background:var(--geo-brand); }

/* 空状态 */
.geo-content .layui-none,.geo-content .ns-empty { color:var(--geo-muted); }

/* 表格操作按钮(layui !important 兜底) */
.geo-content .layui-btn-warm{background-color:#b45309!important;color:#fff!important;}
.geo-content .layui-table .layui-btn-xs:not(.layui-btn-normal):not(.layui-btn-warm):not(.layui-btn-danger){color:#007861;background:#fff;border:1px solid #cbd5e1;}


/* ============================================================
   响应式
   ============================================================ */
/* 平板/小屏桌面：侧栏变窄 icon rail */
@media (max-width:1200px){
	:root{ --geo-side-w:76px; }
	.geo-sidebar{ padding:14px 8px 20px; }
	.geo-side-head, .geo-side-foot{ justify-content:center; text-align:center; padding-left:0; padding-right:0; }
	.geo-side-head{ font-size:0; }
	.geo-nav-group{ display:none; }
	.geo-nav-item{ flex-direction:column; gap:5px; padding:10px 4px; font-size:11px; justify-content:center; text-align:center; }
	.geo-nav-item span{ white-space:normal; }
}

/* 移动端：侧栏抽屉化 */
@media (max-width:1023px){
	.geo-burger{ display:flex; }
	.geo-sidebar{
		position:absolute; top:0; bottom:0; left:0;
		width:248px; z-index:50;
		transform:translateX(-100%); transition:transform .28s cubic-bezier(.4,0,.2,1);
		box-shadow:0 0 40px rgba(15,23,42,.18);
		padding:14px 12px 20px;
	}
	.geo-sidebar.open{ transform:translateX(0); }
	/* 抽屉态恢复完整导航（覆盖 1200 的 icon rail） */
	.geo-sidebar .geo-side-head{ font-size:11px; justify-content:flex-start; padding-left:10px; }
	.geo-sidebar .geo-nav-group{ display:block; }
	.geo-sidebar .geo-nav-item{ flex-direction:row; gap:11px; padding:10px 12px; font-size:13.5px; justify-content:flex-start; text-align:left; }
	.geo-sidebar .geo-nav-item span{ white-space:nowrap; }
	.geo-sidebar .geo-side-foot{ display:block; }
	.geo-overlay{ display:block; opacity:0; }
	.geo-content{ padding:18px 16px 32px; }
}

/* 窄手机：顶栏紧凑 */
@media (max-width:640px){
	:root{ --geo-top-h:56px; }
	.geo-topbar{ padding:0 14px; gap:10px; }
	.geo-mark{ width:34px; height:34px; font-size:12px; border-radius:9px; }
	.geo-ws-name{ font-size:14px; }
	.geo-shop-name{ display:none; }
	.geo-back span{ display:none; }
	.geo-back{ padding:8px; }
	.geo-user-name{ display:none; }
}
/* ===== 对比度修复:白字背景深青绿 + 白底文字深青(WCAG≥4.5) ===== */
.geo-content .ypui-bg-color,.geo-content .layui-btn.ypui-bg-color{background:linear-gradient(135deg,#007861,#00695c)!important;}
.geo-content .ypui-text-color{color:#007861;}
.geo-content .geo-back{color:#007861;}
.geo-content .layui-btn-danger{background-color:#dc2626!important;color:#fff!important;border:none;}
.geo-content .layui-btn-success{background-color:#00695c!important;color:#fff!important;border:none;}

/* ============ 公共组件(下沉自各视图重复定义,2026-07-21) ============ */
/* 折叠面板 ypui-tips */
.layui-collapse.ypui-tips{border-radius:8px;border:none;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.08);}
.layui-collapse.ypui-tips .layui-colla-item{border:1px solid #e2e8f0;margin-bottom:8px;border-radius:8px;overflow:hidden;}
.layui-collapse.ypui-tips .layui-colla-title{background:#f8fafc;color:#475569;font-weight:600;padding:12px 40px 12px 16px;border:none;font-size:13px;position:relative;cursor:pointer;}
.layui-collapse.ypui-tips .layui-colla-title:before{content:'';position:absolute;right:16px;top:50%;width:0;height:0;border-left:4px solid #00C9A7;border-top:3px solid transparent;border-bottom:3px solid transparent;transition:all 0.3s ease;}
.layui-collapse.ypui-tips .layui-colla-item.layui-show .layui-colla-title:before{ rotate(90deg);border-left-color:#00A88F;}
.layui-collapse.ypui-tips .layui-colla-title .layui-icon{display:none;}
.layui-collapse.ypui-tips .layui-colla-content{padding:16px;background:#fff;border:none;}
.layui-collapse.ypui-tips .layui-colla-title[style*="background:#007861"]{background:linear-gradient(135deg,#00C9A7 0,#00C9A7 100%)!important;color:#fff;padding:14px 44px 14px 18px;font-size:14px;}
.layui-collapse.ypui-tips .layui-colla-title[style*="background:#007861"]:before{border-left-color:#fff;right:18px;}
.layui-collapse.ypui-tips .layui-colla-title[style*="background:#dc2626"]{background:linear-gradient(135deg,#dc2626 0,#ef4444 100%)!important;color:#fff;padding:14px 44px 14px 18px;font-size:14px;}
.layui-collapse.ypui-tips .layui-colla-title[style*="background:#dc2626"]:before{border-left-color:#fff;right:18px;}
/* 筛选区 ypui-single-filter-box */
.ypui-single-filter-box{background:#fff;padding:16px;border-radius:8px;border:1px solid #e2e8f0;margin-bottom:16px;box-shadow:0 1px 2px rgba(0,0,0,0.05);}
.ypui-single-filter-box .layui-btn{border-radius:6px;font-weight:500;height:36px;line-height:36px;padding:0 16px;transition:all 0.2s ease;}
.ypui-single-filter-box .layui-btn:hover{box-shadow:0 4px 12px rgba(0,0,0,0.15);}
.ypui-single-filter-box .layui-btn .layui-icon{margin-right:4px;font-size:14px;vertical-align:middle;}
.ypui-single-filter-box .layui-input{border:1px solid #cbd5e1;border-radius:6px;padding:8px 12px;height:36px;transition:all 0.2s ease;}
.ypui-single-filter-box .layui-input:focus{border-color:#00A88F;box-shadow:0 0 0 3px rgba(91,123,154,0.1);outline:none;}
.ypui-single-filter-box .layui-select{border:1px solid #cbd5e1;border-radius:6px;height:36px;}
/* 按钮 layui-btn 统一 */
.layui-btn{border-radius:6px;font-weight:500;transition:all 0.2s ease;}
.layui-btn .layui-icon{vertical-align:middle;margin-right:4px;font-size:14px;}
.layui-btn:hover{box-shadow:0 4px 12px rgba(0,0,0,0.15);}
.layui-btn-xs .layui-icon{font-size:12px;margin-right:2px;}
.layui-btn-sm .layui-icon{font-size:12px;margin-right:2px;}
