/* 小组账号界面样式 v0.24
   全部规则限定在 .group-page 内，避免影响其它页面。
   目标：信息层级清晰、状态一眼可辨、批量操作不淹没表格。 */

.group-page{
  --gp-brand:#1677ff;
  --gp-brand-soft:#eef5ff;
  --gp-ink:#101828;
  --gp-ink2:#475467;
  --gp-mut:#8a94a6;
  --gp-line:#eceff4;
  --gp-soft:#f7f9fc;
  --gp-ok:#0f9d63;
  --gp-ok-soft:#e8f8f0;
  --gp-warn:#b25e09;
  --gp-warn-soft:#fff4e5;
  --gp-bad:#d92d20;
  --gp-bad-soft:#fdecea;
  --gp-idle-soft:#f2f4f8;
  position:relative;
  padding:0;
  border:1px solid var(--gp-line);
  border-radius:14px;
  box-shadow:0 1px 2px #1018280a,0 12px 32px -18px #1018281f;
  overflow:hidden;
  min-height:0;
}

/* ---------- 顶部标题区 ---------- */
.group-page .gp-hero{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:20px 24px 18px;
  background:linear-gradient(120deg,#f3f8ff 0%,#fbfdff 46%,#ffffff 100%);
  border-bottom:1px solid var(--gp-line);
}
.group-page .gp-hero-main{display:flex;gap:14px;align-items:center;min-width:0}
.group-page .gp-hero-icon{
  flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:21px;color:#fff;
  background:linear-gradient(140deg,#4c9bff,#1677ff 55%,#0d5bd6);
  box-shadow:0 8px 18px -8px #1677ffb3;
}
.group-page .gp-hero h2{margin:0;font-size:20px;font-weight:700;color:var(--gp-ink);letter-spacing:.2px}
.group-page .gp-hero-sub{margin:5px 0 0;font-size:12.5px;color:var(--gp-mut);line-height:1.6}
.group-page .gp-hero-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* 运行模式提示条 */
.group-page .gp-mode{
  display:flex;gap:10px;align-items:flex-start;
  margin:0;padding:12px 24px;font-size:12.5px;line-height:1.75;
  color:var(--gp-ink2);background:#fff;border-bottom:1px solid var(--gp-line);
}
.group-page .gp-mode-dot{flex:none;width:8px;height:8px;border-radius:50%;margin-top:7px;background:var(--gp-brand)}
.group-page .gp-mode b{color:var(--gp-ink);font-weight:600}
.group-page .gp-mode.is-demo{background:linear-gradient(90deg,#fffaf1,#fff)}
.group-page .gp-mode.is-demo .gp-mode-dot{background:#f79009}
.group-page .gp-mode.is-off{background:linear-gradient(90deg,#fff6f5,#fff)}
.group-page .gp-mode.is-off .gp-mode-dot{background:var(--gp-bad)}

/* ---------- 指标卡 ---------- */
.group-page .gp-stats{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;
  padding:18px 24px 4px;
}
.group-page .gp-stat{
  position:relative;padding:14px 14px 13px;border:1px solid var(--gp-line);border-radius:12px;
  background:#fff;transition:border-color .16s,box-shadow .16s,transform .16s;min-width:0;
}
.group-page .gp-stat:hover{border-color:#d7e6fb;box-shadow:0 8px 20px -14px #1677ff80;transform:translateY(-1px)}
.group-page .gp-stat-top{display:flex;align-items:center;gap:7px;color:var(--gp-mut);font-size:12px}
.group-page .gp-stat-ico{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:11px;background:var(--gp-brand-soft);color:var(--gp-brand)}
.group-page .gp-stat-value{margin-top:9px;font-size:24px;line-height:1.15;font-weight:700;color:var(--gp-ink);font-variant-numeric:tabular-nums;letter-spacing:-.3px;overflow-wrap:anywhere}
.group-page .gp-stat-note{margin-top:4px;font-size:11px;color:#a3abba}
.group-page .gp-stat.is-accent{background:linear-gradient(160deg,#f5f9ff,#fff);border-color:#dfeafb}
.group-page .gp-stat.is-accent .gp-stat-ico{background:#e4effe}

/* ---------- 分段标签 ---------- */
.group-page .gp-tabs-row{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0 10px;background:#fff;border-bottom:1px solid var(--gp-line);margin-bottom:12px}
.group-page .gp-tabs{
  display:flex;align-items:center;gap:4px;flex-wrap:wrap;
  margin:0;padding:4px;border-radius:11px;background:#f3f5f9;
  border:1px solid #eaeef5;width:fit-content;max-width:100%;
}
.group-page .gp-tab{
  display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--gp-ink2);
  padding:7px 13px;border-radius:8px;font-size:12.5px;font-weight:500;white-space:nowrap;line-height:1.2;
}
.group-page .gp-tab:hover{background:#ffffffb0;color:var(--gp-ink)}
.group-page .gp-tab.is-active{background:#fff;color:var(--gp-brand);font-weight:600;box-shadow:0 1px 2px #10182814,0 4px 10px -6px #10182833}
.group-page .gp-tab .gp-tab-count{
  min-width:18px;padding:1px 6px;border-radius:20px;background:#e8ecf3;color:#667085;
  font-size:10.5px;font-weight:600;font-variant-numeric:tabular-nums;
}
.group-page .gp-tab.is-active .gp-tab-count{background:var(--gp-brand-soft);color:var(--gp-brand)}
.group-page .gp-tab.is-back{color:var(--gp-mut);padding-left:9px}
.group-page .gp-tab.is-back:hover{color:var(--gp-brand)}
.group-page .gp-tabs-end{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}

/* ---------- 工具条 ---------- */
.group-page .gp-bar{padding:5px 24px 0}
.group-page .gp-tools{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:14px 0;border-bottom:1px solid var(--gp-line);
}
.group-page .gp-search{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
.group-page .gp-input{
  display:flex;align-items:center;gap:7px;height:34px;padding:0 11px;
  border:1px solid #dfe4ec;border-radius:9px;background:#fff;transition:border-color .16s,box-shadow .16s;
}
.group-page .gp-input:focus-within{border-color:#9dc7ff;box-shadow:0 0 0 3px #1677ff1a}
.group-page .gp-input span{color:#a3abba;font-size:12px}
.group-page .gp-input input{
  border:0;padding:0;height:100%;min-width:190px;font-size:12.5px;background:transparent;border-radius:0;
}
.group-page .gp-input input:focus{outline:0}
.group-page select.gp-select{
  height:34px;padding:0 28px 0 11px;border:1px solid #dfe4ec;border-radius:9px;font-size:12.5px;color:var(--gp-ink2);
  background:#fff;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#98a2b3 50%),linear-gradient(135deg,#98a2b3 50%,transparent 50%);
  background-position:calc(100% - 15px) 15px,calc(100% - 10px) 15px;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.group-page .gp-btn{
  height:34px;display:inline-flex;align-items:center;gap:6px;
  padding:0 13px;border:1px solid #dfe4ec;border-radius:9px;background:#fff;color:var(--gp-ink2);
  font-size:12.5px;font-weight:500;white-space:nowrap;transition:all .16s;
}
.group-page .gp-btn:hover{border-color:#bcd7fb;color:var(--gp-brand);background:#f7faff}
.group-page .gp-btn.primary{background:var(--gp-brand);border-color:var(--gp-brand);color:#fff;box-shadow:0 6px 14px -8px #1677ffcc}
.group-page .gp-btn.primary:hover{background:#0f6ae8;border-color:#0f6ae8;color:#fff}
.group-page .gp-btn.danger{background:#fff;border-color:#f3c9c4;color:var(--gp-bad)}
.group-page .gp-btn.danger:hover{background:#fef3f2;border-color:#f0a9a0;color:var(--gp-bad)}
.group-page .gp-btn.ghost{border-color:transparent;background:#f5f7fa;color:var(--gp-ink2)}
.group-page .gp-btn.ghost:hover{background:#eef4fd;color:var(--gp-brand)}
.group-page .gp-btn:disabled{opacity:.5;cursor:not-allowed}
.group-page .gp-tools-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.group-page .gp-tools-label{font-size:11px;color:#a3abba;letter-spacing:.4px;margin-right:2px}
.group-page .gp-divider{width:1px;height:20px;background:#e6eaf1;margin:0 3px}
.group-page .gp-spacer{flex:1 1 auto}

/* ---------- 内容区 ---------- */
.group-page .gp-body{padding:4px 24px 24px}
.group-page .gp-section{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:20px 0 10px;flex-wrap:wrap}
.group-page .gp-section h3{margin:0;font-size:14.5px;font-weight:650;color:var(--gp-ink);display:flex;align-items:center;gap:8px}
.group-page .gp-section h3 em{
  font-style:normal;font-size:11px;font-weight:600;color:var(--gp-brand);background:var(--gp-brand-soft);
  padding:2px 7px;border-radius:20px;
}
.group-page .gp-section p{margin:0;font-size:12px;color:var(--gp-mut)}
.group-page .gp-hint{font-size:12px;color:var(--gp-mut);line-height:1.8;margin:10px 0 0}
.group-page .gp-section.gp-onerow{align-items:center;flex-wrap:nowrap}
.group-page .gp-onerow .gp-card-q{flex:0 1 240px;min-width:140px}
.group-page .gp-onerow .gp-card-q input{width:100%;min-width:0}
.group-page .gp-sechint{font-size:12px;color:var(--gp-mut);flex:1 1 auto;min-width:160px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.group-page .gp-hint b{color:var(--gp-ink2);font-weight:600}

/* 选择提示条 */
.group-page .gp-selbar{
  display:none;align-items:center;gap:10px;flex-wrap:wrap;
  margin:14px 0 0;padding:9px 12px;border-radius:10px;
  background:var(--gp-soft);border:1px solid var(--gp-line);font-size:12px;color:var(--gp-mut);
}
.group-page .gp-selbar.is-on{display:flex;background:var(--gp-brand-soft);border-color:#d5e6ff;color:#1a5fb4}
.group-page .gp-selbar b{font-weight:650;color:var(--gp-ink);font-variant-numeric:tabular-nums}
.group-page .gp-selbar .gp-linkbtn{margin-left:auto}

/* ---------- 表格 ---------- */
.group-page .gp-table{
  border:1px solid var(--gp-line);border-radius:12px;overflow:auto;background:#fff;margin-top:12px;
  max-height:none;
}
.group-page table{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px;white-space:nowrap}
.group-page thead th{
  position:sticky;top:0;z-index:2;text-align:left;font-weight:600;font-size:12.5px;letter-spacing:.3px;
  color:#7b8697;background:#f8fafc;padding:13px 14px;border-bottom:1px solid #e9edf4;white-space:nowrap;
}
.group-page tbody td{
  padding:13px 14px;border-bottom:1px solid #f2f4f8;color:var(--gp-ink2);vertical-align:middle;
}
.group-page tbody tr:last-child td{border-bottom:0}
.group-page tbody tr{transition:background .13s}
.group-page tbody tr:hover td{background:#f8fbff}
.group-page tbody td:first-child,.group-page thead th:first-child{padding-left:14px}
.group-page tbody td:last-child,.group-page thead th:last-child{padding-right:14px}
.group-page td.gp-num{color:var(--gp-mut);font-variant-numeric:tabular-nums}
.group-page input[type=checkbox]{width:15px;height:15px;accent-color:var(--gp-brand);vertical-align:middle;cursor:pointer}

/* 账号单元格 */
.group-page .gp-tags{display:flex;flex-wrap:wrap;gap:4px;max-width:200px}
.group-page .gp-tag{
  display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:20px;
  border:1px solid #e1e9f5;background:#f4f8ff;color:#3a6fb8;font-size:11px;font-weight:500;
  max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all .14s;
}
.group-page .gp-tag::before{content:"♟";font-size:9px;opacity:.7}
.group-page .gp-tag:hover{border-color:#bcd7fb;background:#eaf3ff;color:var(--gp-brand)}
.group-page .gp-user{display:flex;align-items:center;gap:9px;min-width:0}

/* 小组胶囊悬停卡（挂 body 下，不属于 .group-page 作用域） */
#gp-group-hover{
  position:fixed;z-index:1300;background:#fff;border:1px solid #e7ebf2;border-radius:12px;
  box-shadow:0 20px 44px -20px #10182866,0 3px 10px #10182817;padding:13px 14px;font-size:12px;
  color:#475467;font-family:"Microsoft YaHei",Arial,sans-serif;overflow:hidden;
}
#gp-group-hover .gp-hover-head{display:flex;align-items:center;gap:9px;padding-bottom:10px;border-bottom:1px solid #f1f4f9;margin-bottom:10px}
#gp-group-hover .gp-gc-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
#gp-group-hover .gp-gc-title strong{font-size:13px;font-weight:650;color:#101828;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#gp-group-hover .gp-gc-title span{font-size:10.5px;color:#a3abba}
#gp-group-hover .gp-hover-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:9px}
#gp-group-hover .gp-hover-meta span{display:block;font-size:10.5px;color:#98a2b3;margin-bottom:2px}
#gp-group-hover .gp-hover-meta b{display:block;font-size:12px;font-weight:600;color:#101828;overflow-wrap:anywhere}
#gp-group-hover .gp-hover-note{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#667085;margin-bottom:9px}
#gp-group-hover .gp-hover-note i{font-style:normal;color:#98a2b3;margin-right:4px}
#gp-group-hover .gp-hover-members{max-height:190px;overflow:auto;border:1px solid #f1f4f9;border-radius:9px}
#gp-group-hover table{border-collapse:separate;border-spacing:0;width:100%;font-size:11.5px}
#gp-group-hover thead th{position:sticky;top:0;text-align:left;font-weight:600;font-size:10.5px;color:#7b8697;background:#f8fafc;padding:7px 10px;border-bottom:1px solid #e9edf4;white-space:nowrap}
#gp-group-hover tbody td{padding:7px 9px;border-bottom:1px solid #f5f7fa;white-space:normal;overflow-wrap:anywhere;vertical-align:top}
#gp-group-hover tbody tr:last-child td{border-bottom:0}
#gp-group-hover .avatar{width:20px;height:20px;margin:0 5px 0 0;font-size:9px}
#gp-group-hover .gp-hover-empty{margin:0;padding:16px 10px;text-align:center;color:#98a2b3;font-size:11.5px}
#gp-group-hover .gp-hover-foot{margin-top:8px;font-size:10.5px;color:#a3abba}
#gp-group-hover .gp-hover-invite{display:flex;align-items:baseline;gap:8px;margin-bottom:9px;font-size:11px;color:#667085}
#gp-group-hover .gp-hover-invite i{font-style:normal;color:#98a2b3;flex:none}
#gp-group-hover .gp-hover-invite .gp-invite{flex:1;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap;font-size:11px;line-height:1.55;color:#101828}
#gp-group-hover .gp-hover-invite a{color:var(--gp-brand);word-break:break-all}
#gp-group-hover .gp-hover-acts{margin-top:10px;gap:6px}
#gp-group-hover .gp-hover-acts .gp-btn{font-size:11.5px;padding:5px 10px}
#gp-group-hover .gp-hover-members .gp-mini{font-size:10.5px;padding:2px 8px}
#gp-group-hover .gp-hover-members td:last-child{white-space:nowrap;text-align:right}
.group-page .gp-user .avatar{width:30px;height:30px;margin:0;flex:none;font-size:12px;background:#e8f0fb;color:#3d7ec9}
.group-page .gp-user-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.group-page .gp-user-name{font-weight:600;color:var(--gp-ink);font-size:12.5px;line-height:1.35}
.group-page .gp-user-sub{font-size:10.5px;color:#a3abba;line-height:1.35;font-family:ui-monospace,Consolas,monospace}
.group-page .gp-user-sub.is-empty{color:#c2c9d4;font-family:inherit}

/* 状态徽标 */
.group-page .gp-pill{
  display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;
  font-size:11.5px;font-weight:600;line-height:1.5;background:var(--gp-idle-soft);color:#5b6675;
  border:1px solid transparent;
}
.group-page .gp-pill::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.75}
.group-page .gp-pill--on{background:var(--gp-ok-soft);color:var(--gp-ok)}
/* 状态开关按钮：点击在启用/停用间切换，停用为红色 */
.group-page .gp-toggle{
  display:inline-flex;align-items:center;gap:6px;padding:3px 11px 3px 5px;border-radius:999px;
  font-size:11.5px;font-weight:600;line-height:1.5;cursor:pointer;font-family:inherit;
  border:1px solid transparent;transition:background .15s,border-color .15s,box-shadow .15s;
}
.group-page .gp-toggle i{width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #10182840;flex:none}
.group-page .gp-toggle.is-on{background:var(--gp-ok-soft);color:var(--gp-ok);border-color:#c4e9d5}
.group-page .gp-toggle.is-on i{background:var(--gp-ok,#17a673)}
.group-page .gp-toggle.is-off{background:#fdecec;color:#c02425;border-color:#f5c2c2}
.group-page .gp-toggle.is-off i{background:#d92d20}
.group-page .gp-toggle:hover{box-shadow:0 1px 4px #1018282e}
.group-page .gp-toggle:focus-visible{outline:2px solid #84b6f2;outline-offset:1px}
.group-page .gp-listhead{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap}
.group-page .gp-listhead .gp-search{margin:0}
.group-page .gp-listhead .gp-search .gp-input input{min-width:240px}
.group-page .gp-limit{
  appearance:none;border:1px dashed #cdd6e4;background:#f8fafc;border-radius:7px;
  padding:2px 9px;font:inherit;font-size:12px;color:#475467;cursor:pointer;transition:all .15s;
}
.group-page .gp-limit:hover{border-color:var(--gp-brand);color:var(--gp-brand);background:var(--gp-brand-soft)}
/* 小组日志：参考使用日志表的紧凑样式 */
.group-page .gp-logtable{margin-top:4px}
.group-page .gp-logtable .gp-table{box-shadow:none}
.group-page .gp-logtable th{white-space:nowrap}
.group-page .gp-logtable td{font-size:12.5px;color:#1f2937}
.group-page .gp-logcode{
  appearance:none;border:0;background:none;padding:0;font:inherit;
  color:var(--gp-brand);cursor:pointer;font-weight:500;letter-spacing:.2px;
}
.group-page .gp-logcode:hover{text-decoration:underline}
.group-page .gp-logmsg{color:#1f2937}
.group-page .gp-ua{display:inline-block;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
/* 卡密列表分页条 */
.group-page .gp-pager{display:flex;align-items:center;gap:6px;margin-top:14px;flex-wrap:wrap;font-size:13px;color:#5b6472}
.group-page .gp-pager-total{margin-right:6px;color:#8a93a3}
.group-page .gp-pager-size{
  appearance:auto;border:1px solid #d9dee7;border-radius:6px;background:#fff;color:#1f2937;
  font:inherit;font-size:12.5px;padding:3px 6px;cursor:pointer;
}
.group-page .gp-pager-size:hover{border-color:var(--gp-brand)}
.group-page .gp-pager-item{
  min-width:28px;height:28px;padding:0 8px;border:1px solid #d9dee7;border-radius:6px;
  background:#fff;color:#1f2937;font:inherit;font-size:13px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
}
.group-page .gp-pager-item:hover:not(:disabled):not(.is-cur){border-color:var(--gp-brand);color:var(--gp-brand)}
.group-page .gp-pager-item.is-cur{background:var(--gp-brand);border-color:var(--gp-brand);color:#fff;font-weight:600;cursor:default}
.group-page .gp-pager-item:disabled{color:#c2c9d4;background:#f6f7fa;cursor:default}
.group-page .gp-pager-ellipsis{min-width:20px;text-align:center;color:#a6aebc}
/* 卡密行图标按钮组 */
.group-page .gp-icoacts{display:flex;align-items:center;gap:6px}
.group-page .gp-ico{
  display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:50%;border:0;background:#eef1f6;color:#5b6472;font-size:14px;
  cursor:pointer;text-decoration:none;transition:all .15s;line-height:1;
}
.group-page .gp-ico:hover{background:#e3e8f0;transform:translateY(-1px)}
.group-page .gp-ico.is-open{background:var(--gp-brand);color:#fff}
.group-page .gp-ico.is-open:hover{filter:brightness(1.08)}
.group-page .gp-ico.is-edit{background:#e8f3ff;color:#1677ff}
.group-page .gp-ico.is-edit:hover{background:#d4e9ff}
.group-page .gp-ico.is-del{background:#fde8e8;color:#e02b2b}
.group-page .gp-ico.is-del:hover{background:#f8d4d4}
/* 卡密查询弹窗结果表 */
#dialog-form .gp-qtable{margin-top:10px;max-height:280px;overflow:auto;border:1px solid #e9edf4;border-radius:9px}
#dialog-form .gp-qtable table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}
#dialog-form .gp-qtable th{position:sticky;top:0;background:#f8fafc;text-align:left;font-size:10.5px;font-weight:600;color:#7b8697;padding:7px 10px;border-bottom:1px solid #e9edf4;white-space:nowrap}
#dialog-form .gp-qtable td{padding:7px 10px;border-bottom:1px solid #f5f7fa;white-space:nowrap}
#dialog-form .gp-qtable tr:last-child td{border-bottom:0}
#dialog-form .gp-qtable .gp-mini{font-size:10.5px;padding:2px 8px}
.group-page .gp-pill--off{background:var(--gp-idle-soft);color:#7b8697}
.group-page .gp-pill--info{background:var(--gp-brand-soft);color:var(--gp-brand)}
.group-page .gp-pill--warn{background:var(--gp-warn-soft);color:var(--gp-warn)}
.group-page .gp-pill--bad{background:var(--gp-bad-soft);color:var(--gp-bad)}
.group-page .gp-pill--plain::before{display:none}

.group-page .gp-cell-sub{display:block;font-size:10.5px;color:#a3abba;margin-top:2px}

/* 行内动作 */
.group-page .gp-rowacts{display:flex;align-items:center;gap:5px;justify-content:flex-end}
.group-page .gp-mini{
  height:27px;padding:0 9px;border:1px solid #e3e8f0;background:#fff;border-radius:7px;
  font-size:11.5px;color:var(--gp-ink2);white-space:nowrap;transition:all .14s;
}
.group-page .gp-mini:hover{border-color:#bcd7fb;color:var(--gp-brand);background:#f7faff}
.group-page .gp-more{position:relative}
.group-page .gp-more>button{width:27px;padding:0;font-size:14px;line-height:1;letter-spacing:0}
.group-page .gp-rowmenu{
  position:absolute;right:calc(100% + 6px);top:50%;transform:translateY(-50%);z-index:20;min-width:132px;
  display:flex;flex-direction:column;padding:5px;background:#fff;border:1px solid #e7ebf2;border-radius:10px;
  box-shadow:0 14px 32px -12px #1018284d,0 2px 6px #1018280f;
}
.group-page .gp-rowmenu button{
  border:0;background:transparent;text-align:left;padding:7px 10px;border-radius:7px;
  font-size:12px;color:var(--gp-ink2);white-space:nowrap;
}
.group-page .gp-rowmenu button:hover{background:#f4f8ff;color:var(--gp-brand)}

/* 空状态 */
.group-page .gp-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:52px 20px;color:#98a2b3;font-size:12.5px;text-align:center;
}
.group-page .gp-empty span{font-size:26px;color:#cbd3e0}

/* ---------- 小组卡片 ---------- */
.group-page .gp-cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:14px;margin-top:4px}
.group-page .platform-group-card{
  border:1px solid var(--gp-line);border-radius:13px;background:#fff;overflow:hidden;min-width:0;
  box-shadow:0 1px 2px #10182808;transition:box-shadow .16s,border-color .16s;
}
.group-page .platform-group-card:hover{border-color:#dbe7f8;box-shadow:0 14px 30px -20px #10182847}
.group-page .platform-group-card>header{
  display:flex;align-items:center;gap:10px;padding:13px 14px;background:linear-gradient(120deg,#f7faff,#fff);
  border-bottom:1px solid var(--gp-line);
}
.group-page .gp-gc-avatar{
  flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  font-size:13px;font-weight:700;color:#fff;background:linear-gradient(140deg,#6ba6ff,#1677ff);
  box-shadow:0 6px 14px -8px #1677ffcc;
}
.group-page .platform-group-card>header .gp-gc-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.group-page .platform-group-card>header strong{
  font-size:13.5px;font-weight:650;color:var(--gp-ink);display:block;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.group-page .platform-group-card>header span{font-size:10.5px;color:#a3abba}
.group-page .gp-gc-metrics{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px 14px;
  background:#fbfcfe;border-bottom:1px solid var(--gp-line);
}
.group-page .gp-metric{min-width:0}
.group-page .gp-metric span{display:block;font-size:10.5px;color:#98a2b3;margin-bottom:3px}
.group-page .gp-metric b{display:block;font-size:12.5px;font-weight:600;color:var(--gp-ink);overflow-wrap:anywhere}
.group-page .gp-gc-note{display:flex;gap:12px;flex-wrap:wrap;padding:10px 14px;font-size:11.5px;color:var(--gp-ink2);border-bottom:1px solid var(--gp-line)}
.group-page .gp-gc-note i{font-style:normal;color:#98a2b3;margin-right:4px}
.group-page .group-members-scroll{max-height:184px;overflow:auto;padding:0}
.group-page .group-members-scroll table{font-size:12px}
.group-page .group-members-scroll thead th{padding:8px 14px;background:#f8fafc}
.group-page .group-members-scroll tbody td{padding:8px 14px;white-space:normal;overflow-wrap:anywhere}
.group-page .group-members-scroll tbody td:first-child{max-width:190px}
.group-page .gp-gc-foot{padding:11px 14px 13px;background:#fbfcfe;border-top:1px solid var(--gp-line)}
.group-page .gp-gc-foot p{margin:6px 0;font-size:11.5px;color:var(--gp-ink2);display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.group-page .gp-gc-foot p>i{font-style:normal;color:#98a2b3;flex:none}
.group-page .gp-invite{overflow-wrap:anywhere;white-space:pre-wrap;font-size:11px;line-height:1.6}
.group-page .gp-gc-foot .gp-tools-group{margin-top:9px}

/* ---------- 生成卡密表单 ---------- */
.group-page .gp-form{
  display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:14px 0 4px;padding:16px;
  border:1px solid var(--gp-line);border-radius:12px;background:linear-gradient(140deg,#fbfdff,#fff);
}
.group-page .gp-field{display:flex;flex-direction:column;gap:6px}
.group-page .gp-field label{font-size:11.5px;color:var(--gp-mut);font-weight:500}
.group-page .gp-field select,.group-page .gp-field input{
  height:34px;border:1px solid #dfe4ec;border-radius:9px;padding:0 10px;font-size:12.5px;color:var(--gp-ink);background:#fff;min-width:132px;
}
.group-page .gp-field input[type=number]{min-width:96px}
.group-page .gp-field select:focus,.group-page .gp-field input:focus{border-color:#9dc7ff;box-shadow:0 0 0 3px #1677ff1a;outline:0}

/* 日志 */
.group-page td.gp-log{white-space:normal;min-width:260px;line-height:1.7}
.group-page .gp-mono{font-family:ui-monospace,Consolas,monospace;font-size:11.5px;color:#475467;letter-spacing:.3px}

@media(max-width:1200px){
  .group-page .gp-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .group-page .gp-gc-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .group-page .gp-hero{padding:16px 14px}
  .group-page .gp-mode{padding:11px 14px}
  .group-page .gp-stats{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 14px 2px;gap:9px}
  .group-page .gp-tabs{margin:12px 14px 0;width:100%}
  .group-page .gp-bar{padding:0 14px}
  .group-page .gp-body{padding:2px 14px 18px}
  .group-page .gp-input input{min-width:120px}
  .group-page .gp-tools{gap:8px;padding:12px 0}
  .group-page .gp-stat-value{font-size:20px}
}

/* v033 compact card table */
.gp-card-table table{table-layout:auto;min-width:850px;width:100%}.gp-card-table th,.gp-card-table td{padding:14px 12px}.gp-card-table th:nth-child(3),.gp-card-table td:nth-child(3){width:155px}.gp-created{font-size:12px;white-space:nowrap}.gp-card-table th:last-child,.gp-card-table td:last-child{width:205px;padding-right:36px}.gp-card-table .gp-icoacts{justify-content:flex-start;gap:10px}.gp-ico{background:#eef1f5;color:#67768b}.gp-ico.is-open{background:#1677ff;color:#fff}.gp-ico.is-edit{background:#e6f4ff;color:#1677ff}.gp-ico.is-del{background:#fff0f1;color:#ee5968}

/* v034: complete log columns, no horizontal scrolling */
.group-page .gp-logtable{min-width:0;width:100%}.group-page .gp-logtable .gp-table{min-width:0;width:100%;overflow:visible}.group-page .gp-logtable table{width:100%;min-width:0;table-layout:fixed}.group-page .gp-logtable th,.group-page .gp-logtable td{min-width:0;max-width:none;padding:12px 7px;white-space:normal;overflow-wrap:anywhere;word-break:normal;vertical-align:top;font-size:12px;line-height:1.6}.group-page .gp-logtable th:nth-child(1){width:10%}.group-page .gp-logtable th:nth-child(2){width:11%}.group-page .gp-logtable th:nth-child(3){width:10%}.group-page .gp-logtable th:nth-child(4){width:9%}.group-page .gp-logtable th:nth-child(5){width:8%}.group-page .gp-logtable th:nth-child(6){width:9%}.group-page .gp-logtable th:nth-child(7){width:10%}.group-page .gp-logtable th:nth-child(8){width:16%}.group-page .gp-logtable th:nth-child(9){width:5%}.group-page .gp-logtable th:nth-child(10){width:12%}.group-page .gp-logtable .gp-logmsg{max-width:none;white-space:normal;overflow:visible;text-overflow:clip}.group-page .gp-logtable .gp-rowacts{flex-wrap:wrap;gap:5px;justify-content:flex-start}.group-page .gp-logtable .gp-mono{white-space:normal;overflow-wrap:anywhere}.group-page .gp-logtable .gp-cell-sub{white-space:normal;max-width:none}.group-page .gp-onerow{flex-wrap:wrap;gap:12px}.group-page .gp-onerow .gp-card-q{min-width:0}
@media(max-width:900px){.group-page .gp-logtable thead{display:none}.group-page .gp-logtable table,.group-page .gp-logtable tbody{display:block;width:100%}.group-page .gp-logtable tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #e5eaf2;padding:8px 0}.group-page .gp-logtable td{display:block;border:0;width:auto!important;padding:6px 10px}.group-page .gp-logtable td:before{content:attr(data-label);display:block;color:#8492a8;font-size:11px;margin-bottom:3px}.group-page .gp-logtable td:nth-child(8){grid-column:1/-1}}
