﻿/* 乐园门店管理系统 · 后台控制台（仿招商后台：白顶栏 + 左白侧栏 + 右 #F4F1FA 内容区）
   依赖 site.css 的 :root 变量 */

/* 整个后台区域底色（招商：#F4F1FA） */
.adm-sec{background:#F4F1FA;min-height:100vh;padding:0}
.adm-sec code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px}
.adm-sec > .wrap{max-width:none;padding:0}

/* ===== 登录页（招商样式：居中卡片，无账号密码提示）===== */
.adm-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 18px;
  background:radial-gradient(120% 90% at 70% 10%,#7A35FF,#211038)}
.login-card{width:min(420px,100%);background:var(--paper);border:none;border-radius:var(--r-lg);
  padding:44px 40px;box-shadow:var(--shadow);text-align:center}
.login-card img{width:64px;height:64px;border-radius:18px;margin:0 auto 16px;box-shadow:var(--shadow-sm)}
.login-card h2{font-family:var(--f-disp);font-size:28px;margin-bottom:4px}
.login-card .lc-sub{color:var(--ink2);font-size:14px;margin-bottom:24px}
.login-card .lq-input{width:100%;margin-bottom:14px;text-align:center;box-shadow:none;background:#fff;border-width:1.8px;padding:15px 16px}
.login-card .lq-input:focus{border-color:var(--violet)}
.login-card .btn{width:100%;justify-content:center;text-align:center;font-size:16px;font-weight:900;padding:15px 24px;border-radius:14px;margin-top:4px}
.login-card .btn + .btn{margin-top:12px}
.adm-login .form-tip{text-align:center}

/* ===== 顶栏 ===== */
.adm-top{background:#fff;border-bottom:1px solid var(--line);height:72px;display:flex;align-items:center;
  gap:14px;padding:0 28px;position:sticky;top:0;z-index:30}
.adm-top .adm-logo{display:flex;align-items:center;gap:10px;font-family:var(--f-disp);font-size:19px;letter-spacing:.02em}
.adm-top .adm-logo img{width:34px;height:34px;border-radius:9px}
.adm-top .adm-tag{padding:5px 13px;border-radius:999px;background:#F0E9FF;font-weight:700;font-size:12px;color:var(--violet);font-family:var(--f-body)}
.adm-top .spacer{flex:1}
.adm-top .who{font-size:14px;color:var(--ink2);font-family:var(--f-body)}

/* ===== 主体：侧栏 + 内容 ===== */
.adm-shell{display:flex;align-items:stretch;width:100%;min-height:calc(100vh - 72px)}
.adm-side{width:232px;flex:none;padding:22px 14px;border-right:1px solid var(--line);background:#fff;
  position:sticky;top:72px;align-self:flex-start;height:calc(100vh - 72px);overflow-y:auto}
.adm-nav{display:flex;flex-direction:column;gap:5px}
.adm-nav button{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:13px 15px;
  border:none;background:none;cursor:pointer;border-radius:13px;font-family:var(--f-body);font-weight:700;
  font-size:14.5px;color:var(--ink2);transition:.18s}
.adm-nav button .i{font-size:17px}
.adm-nav button:hover{background:#F4F1FA;color:var(--ink)}
.adm-nav button.on{background:linear-gradient(135deg,var(--violet2),var(--violet));color:#fff;box-shadow:0 12px 26px -12px rgba(124,58,237,.7)}
.adm-main{flex:1;padding:30px 36px 90px;min-width:0;background:#F4F1FA}
.adm-pane{display:none}
.adm-pane.on{display:block}
.adm-ph{font-family:var(--f-disp);font-size:30px;margin-bottom:4px}
.adm-psub{color:var(--ink2);font-size:14px;margin-bottom:24px;font-family:var(--f-body)}

/* ===== 工具条 / 表单控件 ===== */
.adm-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.adm-spacer{flex:1}
.adm-hint{font-size:13px;color:var(--ink2);max-width:640px;font-family:var(--f-body)}
.adm-input,.adm-select{font-family:var(--f-body);font-size:14px;padding:10px 13px;border:1.6px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.adm-input:focus,.adm-select:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(124,58,237,.12)}
.adm-input-block{width:100%;display:block}
textarea.adm-input{resize:vertical;line-height:1.55}
.adm-flabel{display:block;font-family:var(--f-body);font-size:13px;font-weight:700;color:var(--ink2);margin:12px 0 5px}

/* ===== 表格（白卡圆角）===== */
.adm-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.adm-table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px;font-family:var(--f-body)}
.adm-table th{text-align:left;font-weight:800;color:var(--ink2);font-size:12.5px;letter-spacing:.03em;padding:14px 16px;background:#FBFAFE;border-bottom:1px solid var(--line);white-space:nowrap}
.adm-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.adm-table tr:last-child td{border-bottom:none}
.adm-table tbody tr:hover{background:#FBFAFE}
.adm-empty{text-align:center;color:var(--ink2);padding:30px 14px!important}
.adm-empty.err{color:var(--coral-d)}
.adm-sub{font-size:12px;color:var(--ink2)}
.adm-sub.err{color:var(--coral-d)}
.adm-key{font-size:12.5px;color:var(--ink);font-family:ui-monospace,Menlo,monospace}
.adm-key-dom{margin-top:4px;font-size:12px;color:var(--violet);font-family:ui-monospace,Menlo,monospace;word-break:break-all;line-height:1.3}
.adm-key-nodom{color:var(--muted);font-style:normal}
.adm-opcol{width:1%;white-space:nowrap}
.adm-ops{white-space:nowrap}

.lnk{appearance:none;background:none;border:none;font-family:var(--f-body);font-size:13px;font-weight:700;color:var(--violet);cursor:pointer;padding:3px 6px;border-radius:6px}
.lnk:hover{background:#F0E9FF}
.lnk.danger{color:var(--coral-d)}
.lnk.danger:hover{background:#fdeee9}

.adm-subh{font-family:var(--f-body);font-weight:800;font-size:16px;margin:26px 0 12px}
.adm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.adm-card2{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm)}
.adm-card2 .adm-input-block{margin-bottom:10px}
.adm-card2 .muted{margin-bottom:8px;line-height:1.6}
.adm-cardwarn{background:#fffaf3;border-color:#f3e0c4}

/* ===== 弹窗 ===== */
.adm-modal{position:fixed;inset:0;z-index:200;background:rgba(27,20,48,.5);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;backdrop-filter:blur(3px)}
.adm-modal-card{position:relative;background:#fff;border-radius:var(--r-lg);width:100%;max-width:540px;padding:30px;box-shadow:var(--shadow-pop);max-height:88vh;overflow:auto}
.adm-modal-x{position:absolute;top:16px;right:16px;appearance:none;border:none;background:#F0E9FF;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:15px;color:var(--ink2);line-height:1}
.adm-modal-x:hover{background:var(--line)}
.adm-mtitle{font-family:var(--f-disp);font-size:22px;margin-bottom:14px;padding-right:30px}
.adm-mbtns{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.adm-f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.adm-quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.chip{appearance:none;font-family:var(--f-body);font-size:13px;font-weight:700;cursor:pointer;padding:6px 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink2)}
.chip:hover{border-color:var(--violet);color:var(--violet)}
.adm-keybig{font-family:ui-monospace,Menlo,monospace;font-size:20px;font-weight:700;letter-spacing:.04em;color:var(--violet);background:#F0E9FF;border:1px dashed var(--violet);border-radius:12px;padding:16px;text-align:center;margin:6px 0;word-break:break-all}
.adm-kv{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--line);font-size:14px;font-family:var(--f-body)}
.adm-kv:first-of-type{border-top:none}
.adm-kv span{color:var(--ink2)}
.adm-sha{font-family:ui-monospace,Menlo,monospace;font-size:12px;word-break:break-all;background:#FBFAFE;border-radius:8px;padding:10px;color:var(--ink2);margin-bottom:6px}
.adm-log{background:#FBFAFE;border-radius:10px;padding:12px 14px;font-size:13.5px;line-height:1.6;color:var(--ink);white-space:normal;margin:4px 0;font-family:var(--f-body)}

.adm-toast{position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;font-size:14px;font-weight:600;font-family:var(--f-body);padding:11px 22px;border-radius:999px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.25s;z-index:300}
.adm-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.adm-toast.err{background:var(--coral-d)}

@media(max-width:820px){
  .adm-shell{flex-direction:column}
  .adm-side{width:auto;position:static;height:auto;border-right:none;border-bottom:1px solid var(--line);padding:10px}
  .adm-nav{flex-direction:row;overflow-x:auto;gap:6px}
  .adm-nav button{white-space:nowrap;padding:10px 13px}
  .adm-main{padding:22px 18px 60px}
  .adm-grid2,.adm-f2{grid-template-columns:1fr}
}


/* ===== 数据看板 KPI ===== */
.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:6px}
.dkpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;box-shadow:var(--shadow-sm)}
.dkpi b{font-family:var(--f-num);font-size:34px;display:block;line-height:1.05}
.dkpi span{font-size:13.5px;color:var(--ink2);font-family:var(--f-body)}
.dkpi.d-v b{color:var(--violet)} .dkpi.d-g b{color:var(--ok)} .dkpi.d-w b{color:var(--warn)} .dkpi.d-r b{color:var(--coral-d)}
@media(max-width:680px){.dash-grid{grid-template-columns:1fr 1fr}}


/* ===== 前台内容(CMS) 导航管理行 ===== */
.cms-nav-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line)}
.cms-nav-row:first-child{border-top:none}
.cms-sw{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink2);font-family:var(--f-body);white-space:nowrap;cursor:pointer}
.cms-nav-label{flex:1}
.cms-nav-key{font-size:12px;color:var(--muted);font-family:ui-monospace,Menlo,monospace;width:72px;text-align:right}


/* ===== 前台内容(CMS) 自动表单 ===== */
.cms-group{margin-bottom:16px}
.cms-field{margin-bottom:12px}
.cms-field:last-child{margin-bottom:0}
.cms-img{display:flex;align-items:center;gap:14px}
.cms-img-prev{width:84px;height:84px;border:1px dashed var(--line2);border-radius:12px;background:#FBFAFE;display:grid;place-items:center;overflow:hidden;flex:none}
.cms-img-prev img{width:100%;height:100%;object-fit:contain}
.cms-img-prev span{font-size:11px;color:var(--muted);text-align:center;padding:6px}
.cms-img-btns{display:flex;gap:8px;flex-wrap:wrap}
.cms-save-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:14px;padding:14px 0;background:linear-gradient(to top,#F4F1FA 70%,transparent)}


/* ===== CMS 板块切换（仿招商）===== */
.cms-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;position:sticky;top:84px;z-index:5;background:#F4F1FA;padding:4px 0}
.cms-nav button{appearance:none;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font-family:var(--f-body);font-weight:700;font-size:13px;color:var(--ink2);cursor:pointer;transition:.15s}
.cms-nav button:hover{border-color:var(--violet);color:var(--ink)}
.cms-nav button.on{background:linear-gradient(135deg,var(--violet2),var(--violet));border-color:var(--violet);color:#fff}
.cms-sec{margin-bottom:18px}
.cms-sec-h{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.cms-sec-h .ico{width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-size:20px;flex:none}
.cms-sec-h h2{font-family:var(--f-disp);font-weight:900;font-size:19px;line-height:1.1}
.cms-sec-h p{font-size:12.5px;color:var(--muted);margin-top:3px}


/* ===== 销售线索：标签 / 批量条 ===== */
.lead-tabs{display:flex;gap:8px;margin-bottom:14px}
.lead-tab{appearance:none;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font-family:var(--f-body);font-weight:700;font-size:13.5px;color:var(--ink2);cursor:pointer;transition:.15s}
.lead-tab:hover{border-color:var(--violet);color:var(--ink)}
.lead-tab.on{background:linear-gradient(135deg,var(--violet2),var(--violet));border-color:var(--violet);color:#fff}
.lead-batch{display:flex;align-items:center;gap:10px;background:#EEF0FF;border:1px solid var(--line2);border-radius:12px;padding:10px 14px;margin-bottom:14px;font-family:var(--f-body);font-size:13.5px;color:var(--ink2)}
.lead-batch .adm-select{padding:7px 10px}


/* ===== 行内"更多"下拉菜单（固定定位，避免被表格裁切）===== */
.adm-dd{display:inline-block}
.adm-more{font-weight:900;letter-spacing:1.5px;padding:3px 8px}
.adm-menu{display:none;position:fixed;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);z-index:400;min-width:160px;padding:5px}
.adm-menu.show{display:block}
.adm-mi{display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-family:var(--f-body);font-weight:600;font-size:13.5px;color:var(--ink);padding:9px 12px;border-radius:8px}
.adm-mi:hover{background:var(--lav)}
.adm-mi.danger{color:var(--coral-d)}
.adm-mi.danger:hover{background:#fdeee9}

/* ===== 通用分页器 ===== */
.adm-pager{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:12.5px;color:var(--ink2);flex-wrap:wrap}
.pg-size{flex:none}
.pg-sel{font-family:var(--f-body);font-size:12.5px;font-weight:700;color:var(--ink);padding:5px 8px;border:1.5px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}
.pg-sel:focus{outline:none;border-color:var(--violet)}
.pg-total{flex:none;color:var(--muted)}
.pg-grp{display:flex;align-items:center;gap:8px;margin-left:auto}
.pg-cur{font-weight:700;color:var(--ink2)}
.pg-b{height:30px;padding:0 12px;border:1.5px solid var(--line);background:#fff;border-radius:8px;font-family:var(--f-body);font-weight:700;font-size:13px;color:var(--ink2);cursor:pointer;transition:.15s}
.pg-b:hover:not(:disabled){border-color:var(--violet);color:var(--violet)}
.pg-b:disabled{opacity:.45;cursor:default}

/* ===== 授权操作按钮组（固定多个按钮，行行对齐） ===== */
.adm-acts{display:flex;align-items:center;gap:1px;flex-wrap:nowrap}
.adm-acts .lnk{padding:3px 5px}
.lnk:disabled,.lnk[disabled]{color:var(--muted);cursor:default;background:none}
.lnk:disabled:hover,.lnk[disabled]:hover{background:none}

/* ===== 销售线索：标签并入工具栏 ===== */
.lead-toolbar .lead-tabs{margin-bottom:0}
.lead-tb-div{width:1px;height:26px;background:var(--line);margin:0 4px}

/* ===== 最近签发：标题 + 筛选同行 ===== */
.adm-subh-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.adm-subh-row .adm-subh{margin-bottom:8px}
.adm-select-sm{padding:7px 10px;font-size:13px}

/* ===== SEO 表单卡片 ===== */
/* ===== 网站 SEO：左右两栏 + 实时预览 ===== */
.seo-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.seo-col{display:flex;flex-direction:column;gap:18px;min-width:0}
.seo-sec-h{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.seo-sec-h h3{margin:0;font-size:16px;font-weight:800;color:var(--ink)}
.seo-sec-hint{font-size:12px;color:var(--muted)}
.seo-full{grid-column:1 / -1}
.seo-note{font-size:13px;color:var(--ink2);line-height:1.75;margin:0}
.seo-note b{color:var(--ink)}
.seo-prev-card{position:sticky;top:18px}
.seo-prev-label{font-size:12px;font-weight:700;color:var(--ink2);margin:2px 0 8px}
.seo-prev{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:18px}
.seo-prev .g-title{color:#1a0dab;font-size:18px;line-height:1.3;font-weight:600;word-break:break-word}
.seo-prev .g-url{color:#0a8f3c;font-size:13px;margin-top:2px;word-break:break-all}
.seo-prev .g-desc{color:#4d5156;font-size:13px;margin-top:5px;line-height:1.6;word-break:break-word}
.social-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;max-width:420px}
.social-card .sc-img{height:150px;background:#241B3D;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:13px}
.social-card .sc-img.has-img{color:transparent}
.social-card .sc-body{padding:12px 14px;background:#fff}
.social-card .sc-url{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.social-card .sc-t{font-weight:700;font-size:15px;margin-top:2px;color:var(--ink);word-break:break-word}
.social-card .sc-d{font-size:13px;color:var(--ink2);margin-top:3px;line-height:1.5;word-break:break-word}
@media(max-width:1080px){.seo-grid{grid-template-columns:1fr}.seo-prev-card{position:static}}

/* ===== 授权管理·操作区：6 个按钮排成两排(3×2)，行行对齐 ===== */
.adm-acts-grid{display:grid;grid-template-columns:repeat(3,max-content);gap:3px 6px;justify-content:start}

/* ===== 操作日志·保留策略条 ===== */
.op-policy{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:14px 16px;margin:0 0 16px;
  background:#FBFAFE;border:1px solid var(--line);border-radius:14px;font-family:var(--f-body);font-size:13.5px;color:var(--ink2)}
.op-policy-h{font-weight:800;color:var(--ink)}
.op-num{width:88px;padding:7px 10px}

/* ===== 操作日志·类型徽标（按分类配色） ===== */
.op-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;font-family:var(--f-body);white-space:nowrap}
.op-login{background:#E8F0FE;color:#2563EB}
.op-lead{background:#FEF3E2;color:#D97706}
.op-license{background:#F0E9FF;color:#7C3AED}
.op-content{background:#E6F7F1;color:#0F9D6E}
.op-user{background:#FCE8F0;color:#DB2777}
.op-other{background:#EEF0F4;color:#6B7280}
