/* V1.1.65 / 主框架层：群资料面板、导航、分组行和后台工作区。
 * 修改整页底色、结构间距、表格或卡片请优先在本文件定位。
 * 统一变量定义位于 ui-tokens.css。 */
/* member — 主框架、导航、信息行与列表 */
#member-app{--native-canvas:var(--ui-canvas);--native-surface:var(--ui-surface);--native-ink:var(--ui-ink);
  --native-secondary:var(--ui-secondary);--native-border:var(--ui-border);--native-primary:var(--ui-primary);
  font-family:var(--ui-font);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  color:var(--native-ink);}
#member-app .chat-info-panel,#member-app .chat-info-panel.manager-open{background:var(--native-canvas);border-left:1px solid #e7e7ee;
  box-shadow:-12px 0 36px rgba(27,34,54,.11);font-size:14px;}
#member-app .chat-info-head{background:var(--native-canvas);border-bottom:1px solid transparent}
#member-app .chat-info-head strong{letter-spacing:.05px;font-size:16px;font-weight:600}
#member-app .native-group-hero{margin:4px 0 16px;padding:16px 10px;gap:13px}
#member-app .native-group-picture{border:1px solid #e6e9f0;background:#e8ecf4;border-radius:10px}
#member-app .native-group-hero-text strong{font-size:16px;font-weight:650;letter-spacing:.1px}
#member-app .native-info-card,#member-app .chat-info-announcement,
#member-app .chat-info-mute-row{border:1px solid #f0f0f5;border-radius:14px;box-shadow:0 1px 2px rgba(34,44,70,.025)}
#member-app .chat-info-row{min-height:54px;padding:12px 16px;border-bottom:1px solid #f0f0f5}
#member-app .chat-info-row>span{color:#242833;font-size:14px;font-weight:500}
#member-app .chat-info-row strong{font-size:13px;color:#8892a0}
#member-app .chat-info-announcement{padding:15px 16px 17px}
#member-app .chat-info-announcement p{font-size:13px;color:#939baa;line-height:1.7}
#member-app .chat-info-mute-row{padding:10px 16px}
#member-app .chat-manager h3{margin:0 0 9px 3px;color:#8e98a7;font-size:11px;letter-spacing:.4px}
#member-app .chat-manager .mgr-area:first-of-type{border-radius:13px 13px 0 0}
#member-app .chat-manager .mgr-area:last-of-type{border-radius:0 0 13px 13px}
#member-app .chat-manager .mgr-area>summary{font-weight:500;font-size:13px;min-height:52px}
#member-app .chat-manager .mgr-area>summary span{font-size:11px;color:#96a0b0}
@media (max-width:760px){
#member-app .chat-info-panel,#member-app .chat-info-panel.manager-open{background:var(--native-canvas)}
#member-app .chat-info-head{background:var(--native-canvas);min-height:60px}
#member-app .native-info-card,#member-app .chat-info-announcement,#member-app .chat-info-mute-row{border-color:#ededf3}
}

/* admin — 主框架、导航、信息行与列表 */
#app-screen{--accent:var(--ui-primary);--accent-soft:#edf3fd;--ink:var(--ui-ink);--muted:var(--ui-secondary);--border:var(--ui-border);--canvas:var(--ui-canvas-admin);--card:var(--ui-surface)}
#app-screen{font-family:var(--ui-font);-webkit-font-smoothing:antialiased;color:var(--ink)}
.shell-main{background:var(--canvas)}
.sidebar{background:#f8fafc;border-right:1px solid #e4eaf1}
.sidebar-brand strong{font-size:14px;font-weight:700;letter-spacing:.1px}
.nav-group-toggle,.nav-item-home{color:#43536a;font-size:13px;font-weight:580}
.nav-submenu .nav-item{font-size:12px;min-height:38px;line-height:1.5}
.nav-submenu .nav-item.active{color:#2059ab;background:#eaf2fd}
.sidebar-overline{color:#96a4b5;font-weight:650}
.topbar{background:var(--ui-surface);border-bottom:1px solid #e6eaf0}
.topbar-context strong{font-weight:700;font-size:14px;letter-spacing:0}
.workspace{background:var(--canvas)}
.workspace-heading h1{color:#24334a;letter-spacing:-.2px;font-size:24px;font-weight:720}
.workspace-heading p,.section>p,.group>p{color:#8390a3;line-height:1.7}
.section,.group,.group-directory,.group-detail-panel,.customer-list-section{border-color:#e7ebf1;background:var(--ui-surface);box-shadow:none}
.section h2,.group>strong,.detail-head h3{color:#27374e;font-weight:690}
.table-wrap,.customer-list-section .table-wrap,.admin-result .table-wrap{border-color:#e9edf3;background:var(--ui-surface);border-radius:8px}
.table-wrap th,th{background:#f8fafd;font-size:12px;font-weight:630;color:#718197;border-bottom:1px solid #e7ebf1;padding:12px 14px}
.table-wrap td,td{font-size:12px;color:#405169;line-height:1.6;padding:13px 14px;border-bottom:1px solid #edf0f4}
.table-wrap tbody tr:hover{background:#f7faff}
.form-grid label,.device-limit-controls label{color:#596a81;font-size:12px;font-weight:570}
.form-grid input,.form-grid select,.form-grid textarea,.mini-input,.toolbar-search,.admin-select{min-height:40px;border-color:#dfe5ee;border-radius:7px;background:var(--ui-surface);color:#263850;font-size:13px;box-shadow:none}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.mini-input:focus,.toolbar-search:focus,.admin-select:focus{outline:none;border-color:#7da6ef;box-shadow:0 0 0 3px rgba(49,107,207,.11)}
.btn,.subtle{min-height:36px;border-radius:7px;font-size:12px;font-weight:610;box-shadow:none;letter-spacing:0}
.btn-primary{color:#fff;background:#316bcf;border-color:#316bcf}
.btn-primary:hover{color:#fff;background:#285ebd;border-color:#285ebd}
.btn-danger{color:#b14c5a;background:#fff5f6;border-color:#f0d9df}
.admin-row-actions{gap:7px}
.admin-row-actions .btn-small{min-height:32px;padding:5px 10px}
.group-detail-panel{border-radius:9px}
.group-detail-panel .detail-tabs{border-bottom:1px solid #e8edf3}
.group-detail-panel .detail-tab{font-size:12px;min-height:43px}
.group-detail-panel .detail-tab.active{border-bottom-color:#316bcf;color:#316bcf}
.group-directory .group-dir-item{border-bottom:1px solid #eef1f5}
.group-directory .group-dir-item.active{background:#edf3fd}
@media (max-width:800px){
.workspace-heading h1{font-size:22px}
.table-wrap th,th,.table-wrap td,td{padding:11px 12px}
}
/* V1.1.67 — 运营概览排版与后台自适应布局。仅布局层，业务样式仍由 admin.css 负责。 */
#app-screen .shell-main{min-width:0;overflow:hidden}
#app-screen .workspace{min-width:0;width:100%;background:#f5f7fa;overflow-x:hidden;overflow-y:auto}
/* V1.1.69: 工作区是 fluid，不对整个业务页面设置固定宽度上限。
   浏览器缩放至 67% 等比例时仍必须填满侧栏以外的空间；
   需要限宽的输入框/弹窗由各自组件决定，表格单独滚动。 */
#app-screen .workspace-inner{display:flex;flex-direction:column;min-height:100%;width:100%;min-width:0;max-width:none;margin:0;box-sizing:border-box}
#app-screen .workspace-heading,#app-screen .page-content{min-width:0;max-width:100%;box-sizing:border-box}
#app-screen .workspace-heading{padding:26px clamp(18px,2.3vw,42px) 20px;border-bottom:1px solid #e8edf3;background:#fff}
#app-screen .workspace-heading h1{font-size:24px;line-height:1.36;font-weight:700;color:#25354a}
#app-screen .workspace-heading p{font-size:13px;line-height:1.6;margin-top:6px;color:#798a9f}
#app-screen .page-content{flex:1 0 auto;padding:20px clamp(18px,2.3vw,42px) 34px;width:100%;min-width:0}
#app-screen .page-content>*{min-width:0;max-width:100%}
#app-screen .page-content.view-home{display:flex;flex-direction:column;gap:18px}
#app-screen .view-home .ops-home-overview{min-width:0;background:#fff;border:1px solid #e3e9f1;border-radius:11px;overflow:hidden}
#app-screen .view-home .ops-home-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 22px 14px;border-bottom:1px solid #edf0f5}
#app-screen .view-home .ops-home-heading h3{font-size:15px;line-height:1.4;margin:0;font-weight:700;color:#263951}
#app-screen .view-home .ops-home-subtitle{font-size:12px;color:#8b98a9}
#app-screen .view-home .cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:0;gap:0;border:0;background:#fff}
#app-screen .view-home .cards .card{min-width:0;min-height:125px;margin:0;padding:20px 22px!important;border:0;border-right:1px solid #edf0f4;border-radius:0;background:#fff;box-shadow:none}
#app-screen .view-home .cards .card:last-child{border-right:0}
#app-screen .view-home .cards .card .label{color:#687b92;font-size:13px;font-weight:560;line-height:1.4}
#app-screen .view-home .cards .card .num{margin:9px 0 5px;font-size:30px;font-weight:730;color:#1e385d;line-height:1.2;font-variant-numeric:tabular-nums}
#app-screen .view-home .cards .card .note{font-size:12px;color:#8c99aa;line-height:1.5}
#app-screen .view-home .ops-home-board{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(285px,1fr);gap:18px;align-items:stretch;min-width:0}
#app-screen .view-home .ops-home-board-single{grid-template-columns:minmax(0,1fr)}
#app-screen .view-home .ops-home-board>.section{min-width:0;height:100%;padding:0;margin:0;border:1px solid #e3e9f1;border-radius:11px;background:#fff;box-shadow:none;overflow:hidden}
#app-screen .view-home .ops-home-board>.section>h3{margin:0;padding:18px 21px 15px;border-bottom:1px solid #edf0f5;color:#273952;font-size:15px;font-weight:690;line-height:1.5}
#app-screen .view-home .approval-kpi-grid{display:flex;flex-direction:column;gap:0;margin:0;padding:0 21px}
#app-screen .view-home .approval-kpi{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:100px;padding:17px 0;border:0;border-bottom:1px solid #edf0f4;border-radius:0;background:#fff;box-shadow:none}
#app-screen .view-home .approval-kpi:last-child{border-bottom:0}
#app-screen .view-home .ops-approval-text{display:flex;flex-direction:column;gap:6px;min-width:0}
#app-screen .view-home .ops-approval-title{font-size:13px;font-weight:650;line-height:1.45;color:#304259}
#app-screen .view-home .ops-approval-text .mini{font-size:12px;color:#8795a5;line-height:1.5}
#app-screen .view-home .approval-kpi-num{min-width:24px;text-align:center;margin:0;font-size:25px;font-weight:720;color:#2d65c4;letter-spacing:0;line-height:1.2}
#app-screen .view-home .approval-kpi .btn{align-self:center;margin:0;min-height:34px;padding:7px 11px;white-space:nowrap}
#app-screen .view-home .approval-summary-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0;padding:14px 21px;border-top:1px solid #edf0f5}
#app-screen .view-home .approval-summary-foot .mini{flex:1 1 190px;font-size:11px;color:#8d99a7;line-height:1.5}
#app-screen .view-home .ops-home-security{display:flex;flex-direction:column}
#app-screen .view-home .ops-home-rule{margin:0 21px!important;padding:17px 0!important;border:0;border-bottom:1px solid #edf0f4;background:transparent;color:#5d6d81;font-size:13px;line-height:1.85}
#app-screen .view-home .ops-home-rule:last-child{border-bottom:0}
#app-screen .view-home .ops-home-empty{margin:0;padding:24px 0;color:#8794a5;font-size:13px}
/* 所有业务列表的横向溢出只在表格内部滚动，不能把右侧工作区推出窗口。 */
#app-screen .page-content .group-manager-layout,#app-screen .page-content .group-detail-panel,#app-screen .page-content .group-directory,#app-screen .page-content .detail-content{min-width:0;max-width:100%}
#app-screen .page-content .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
#app-screen .page-content .search-toolbar{min-width:0}
#app-screen .page-content input,#app-screen .page-content select,#app-screen .page-content textarea{max-width:100%}
@media(max-width:1180px){
 #app-screen .view-home .ops-home-board{grid-template-columns:minmax(0,1fr)}
 #app-screen .view-home .cards .card{padding:18px!important}
}
@media(max-width:820px){
 #app-screen .workspace-heading{padding:19px 17px 16px}
 #app-screen .page-content{padding:17px 17px 28px}
 #app-screen .view-home .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app-screen .view-home .cards .card{min-height:110px;border-bottom:1px solid #edf0f4}
 #app-screen .view-home .cards .card:nth-child(2){border-right:0}
 #app-screen .view-home .cards .card:nth-child(n+3){border-bottom:0}
}
@media(max-width:520px){
 #app-screen .workspace-heading{padding:17px 14px 14px}
 #app-screen .workspace-heading h1{font-size:20px}
 #app-screen .page-content{padding:14px 12px 25px}
 #app-screen .view-home .ops-home-heading{padding:15px 15px 12px}
 #app-screen .view-home .cards .card{min-height:110px;padding:15px 14px!important}
 #app-screen .view-home .cards .card .num{font-size:27px}
 #app-screen .view-home .cards .card .label{font-size:12px}
 #app-screen .view-home .cards .card .note{font-size:11px}
 #app-screen .view-home .ops-home-board>.section>h3{padding:15px}
 #app-screen .view-home .approval-kpi-grid{padding:0 15px}
 #app-screen .view-home .approval-kpi{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:110px;padding:14px 0}
 #app-screen .view-home .approval-kpi .btn{grid-column:1/-1;justify-self:start}
 #app-screen .view-home .ops-home-rule{margin:0 15px!important}
 #app-screen .view-home .approval-summary-foot{padding:12px 15px}
}

/* V1.1.68/69 — 各模块内容边界约束，整个工作区保持流式全宽。
   仅表格可在自身区域横向滚动；不再缩窄整个业务区。 */
#app-screen .workspace-heading{margin-inline:0;border-left:1px solid #e8edf3;border-right:1px solid #e8edf3}
#app-screen .page-content{min-width:0;max-width:100%;overflow:visible;box-sizing:border-box}
#app-screen .page-content:not(.view-home){border:1px solid #e5eaf2;border-top:0;border-radius:0 0 10px 10px;background:#fff;padding-top:10px}
#app-screen .page-content > .section,
#app-screen .page-content > .resource-workbar,
#app-screen .page-content > .resource-list-section,
#app-screen .page-content > .group-manager-layout{min-width:0;max-width:100%;box-sizing:border-box}
#app-screen .page-content .table-wrap{max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}
#app-screen .page-content .table-wrap table{max-width:none}
#app-screen .page-content .admin-result{min-width:0;max-width:100%}
#app-screen .page-content .search-toolbar{max-width:100%;flex-wrap:wrap}
#app-screen .page-content .admin-pager{min-width:0;max-width:100%;flex-wrap:wrap}
#app-screen .page-content .group-manager-layout{grid-template-columns:minmax(220px,29%) minmax(0,1fr)}
#app-screen .page-content .group-detail-panel{min-width:0;overflow:hidden}
#app-screen .page-content .detail-content{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(max-width:1100px){
 #app-screen .page-content .group-manager-layout{grid-template-columns:minmax(210px,31%) minmax(0,1fr)}
}
@media(max-width:800px){
 #app-screen .workspace-inner{max-width:none}
 #app-screen .workspace-heading{border-left:0;border-right:0}
 #app-screen .page-content:not(.view-home){border-left:0;border-right:0;border-radius:0}
 #app-screen .page-content .group-manager-layout{display:block}
}

/* V1.1.78 — “找群”固定使用列表搜索栏剩余宽度，不改变已加入群的筛选逻辑。 */
#member-app .search-wrap{min-width:0}
#member-app .search-wrap>#group-search{min-width:0;flex:1 1 auto}
#member-app .group-discover-shortcut{flex:0 0 auto;white-space:nowrap;border:1px solid #d8e3ef;background:#f3f7fc;color:#2765bb;border-radius:9px;padding:7px 11px;font-size:13px;font-weight:600;cursor:pointer}
#member-app .group-discover-shortcut:hover{background:#e8f2ff}

/* V1.1.122: 群资料与运营权限页面统一为同一分组和同一行式导航。 */
#member-app #native-group-member-card{display:block;margin:0 0 14px;overflow:hidden;border:1px solid #f0f0f5;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(34,44,70,.025)}
#member-app #native-group-member-card[hidden]{display:none!important}
#member-app #native-group-member-card .chat-info-row{border:0;min-height:54px;padding:12px 16px}
#member-app .native-manager-list{display:flex;flex-direction:column;margin:0 0 14px;overflow:hidden;border:1px solid #f0f0f5;border-radius:14px;background:var(--ui-surface,#fff);box-shadow:0 1px 2px rgba(34,44,70,.025)}
#member-app .chat-manager .native-manager-list>.mgr-area{flex:0 0 auto;margin:0;border:0;border-bottom:1px solid #f0f0f5;border-radius:0!important;background:#fff}
#member-app .chat-manager .native-manager-list>.mgr-area>summary{min-height:54px;padding:12px 16px;font-size:14px;font-weight:500}
#member-app .native-manager-list>.native-manager-entry{display:flex;flex:0 0 auto;align-items:center;gap:12px;min-width:0;width:100%;min-height:54px;margin:0;padding:12px 16px;border:0;border-bottom:1px solid #f0f0f5;border-radius:0;background:#fff;box-shadow:none;text-align:left;white-space:normal;color:#272b34;font-size:14px;font-weight:500}
#member-app .native-manager-list>.native-manager-entry:hover,#member-app .native-manager-list>.native-manager-entry:focus-visible{background:#f8faff;color:#272b34}
#member-app .native-manager-list>.native-manager-entry .native-manager-entry-title{flex:0 1 auto;min-width:0}
#member-app .native-manager-list>.native-manager-entry small{flex:1 1 auto;min-width:0;margin-left:auto;color:#96a0b0;font-size:11px;font-weight:400;text-align:right;line-height:1.4}
#member-app .native-manager-list>.native-manager-entry .native-manager-entry-arrow{flex:0 0 auto;color:#a7adb8;font-size:20px;line-height:1}
#member-app .native-manager-list>:last-child{border-bottom:0!important}
#member-app .native-manager-list>[hidden]{display:none!important}
#member-app .native-group-modal .mgr-policy-options{margin:0 0 14px;border-top:0;border-bottom:1px solid #edf0f3}
#member-app .native-group-modal .mgr-policy-options label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;margin:0;padding:12px 2px;border-bottom:1px solid #edf0f3;font-size:13px;color:#344253;cursor:pointer}
#member-app .native-group-modal .mgr-policy-options label:last-child{border-bottom:0}
#member-app .native-group-modal .mgr-policy-options label>span{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:3px;line-height:1.45}
#member-app .native-group-modal .mgr-policy-options label small{margin:0;font-size:11px;font-weight:400;line-height:1.5;color:#8a94a3}
#member-app .native-group-modal .mgr-policy-options input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-width:18px;margin:0;accent-color:#3478f6}
#member-app .native-member-toolbar{flex-wrap:wrap}
#member-app .native-member-toolbar>span{flex:1 1 auto}
#member-app .native-member-toolbar #native-member-add{flex:0 0 auto}
@media(max-width:420px){
 #member-app .native-manager-list>.native-manager-entry,#member-app .chat-manager .native-manager-list>.mgr-area>summary{min-height:54px;padding:10px 14px}
 #member-app .native-manager-list>.native-manager-entry small,#member-app .native-manager-list>.mgr-area>summary span{max-width:48%;overflow-wrap:anywhere}
 #member-app .native-group-modal .mgr-policy-options label{min-height:50px}
}

/* V1.1.123: operation feedback belongs to the active form, not a second helper card. */
#member-app .mgr-inline-feedback{margin:8px 0 0;padding:8px 10px;background:#f1f6fc;border:1px solid #e1e9f4;border-radius:6px;font-size:12px;line-height:1.55;color:#476483}
#member-app .mgr-inline-feedback[hidden]{display:none!important}
