.staff-form { gap: 16px; }
body.ui-bs #merchantEditDialog, body.ui-bs #merchantFormDialog { width:min(840px,calc(100vw - 24px)); max-height:min(800px,calc(100dvh - 40px)); }
body.ui-bs :is(#merchantEditDialog,#merchantFormDialog) .dialog-body { padding:16px 20px; }
body.ui-bs :is(#merchantEditDialog,#merchantFormDialog) .modal-form-grid { gap:12px; }
body.ui-bs :is(#merchantEditDialog,#merchantFormDialog) .merchant-group-section-title { margin-bottom:10px; padding-bottom:8px; }
body.ui-bs :is(#merchantEditDialog,#merchantFormDialog) .merchant-group-section-title > small { display:none; }
body.ui-bs :is(#merchantEditDialog,#merchantFormDialog) .merchant-group-basic-grid,
body.ui-bs :is(#merchantEditDialog,#merchantFormDialog) .merchant-control-grid { gap:10px 14px; }
body.ui-bs :is(#merchantEditDialog,#merchantFormDialog) .form-field > small { display:none; }
body.ui-bs .merchant-compact-toggle { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:10px; }
body.ui-bs .merchant-compact-toggle .setting-switch { width:68px; min-width:68px; height:28px; border:0; background:transparent; padding:0; }
.merchant-subject-section { position:relative; }
.merchant-template-variables { margin-top:4px; font-size:12px; color:#66768b; }
.merchant-template-variables summary { width:fit-content; cursor:pointer; }
.staff-permission-heading { display: flex; align-items: center; justify-content: space-between; padding-bottom: 10px; }
.staff-permission-heading label, .staff-permission-group label { display: flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 400; min-width: 0; }
body.authenticated .staff-permissions input[type="checkbox"] { width: 16px; height: 16px; margin: 0; flex: 0 0 16px; accent-color: #2563eb; }
.staff-permission-heading small { margin-left: 6px; color: #69778a; font-size: 12px; font-weight: 400; }
.staff-permission-group { border: 0; border-top: 1px solid #e3e8ef; margin: 0; padding: 10px 0 14px; min-width: 0; }
.staff-permission-group legend { padding: 0 10px 0 0; color: #536175; font-size: 12px; }
.staff-permission-group > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
.staff-permission-group span { overflow-wrap: anywhere; font-size: 13px; }
#merchantStaffDialog, #operatorRoleCreateDialog, #operatorRoleEditDialog { width: min(640px, calc(100vw - 24px)); }
.operator-roles-panel td[data-label="功能权限"] { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 380px) { .staff-permission-group > div { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) {
  body.authenticated .operator-roles-panel .data-table tr { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; padding: 12px; }
  body.authenticated .operator-roles-panel .data-table td { display: block; border: 0; padding: 0; min-width: 0; max-width: none; background: transparent; text-align: left; }
  body.authenticated .operator-roles-panel .data-table td::before { display: none; }
  body.authenticated .operator-roles-panel td[data-label="角色名称"] { grid-area: 1 / 1; font-size: 14px; font-weight: 600; }
  body.authenticated .operator-roles-panel td[data-label="状态"] { grid-area: 1 / 2; justify-self: end; }
  body.authenticated .operator-roles-panel td[data-label="角色编码"] { grid-area: 2 / 1; color: #536175; }
  body.authenticated .operator-roles-panel td[data-label="账号数"] { grid-area: 2 / 2; color: #536175; justify-self: end; }
  body.authenticated .operator-roles-panel td[data-label="账号数"]::after { content: ' 个账号'; }
  body.authenticated .operator-roles-panel td[data-label="功能权限"] { grid-area: 3 / 1 / 4 / 3; font-size: 12px; color: #536175; }
  body.authenticated .operator-roles-panel td[data-label="说明"] { grid-area: 4 / 1 / 5 / 3; font-size: 12px; color: #536175; }
  body.authenticated .operator-roles-panel td[data-label="更新时间"] { grid-area: 5 / 1; align-self: center; font-size: 11px; color: #536175; }
  body.authenticated .operator-roles-panel td[data-label="操作"] { grid-area: 5 / 2; }
  body.authenticated .merchant-staff-panel .data-table tr { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; padding: 12px; }
  body.authenticated .merchant-staff-panel .data-table td { display: block; border: 0; padding: 0; min-width: 0; background: transparent; text-align: left; }
  body.authenticated .merchant-staff-panel .data-table td::before { display: none; }
  body.authenticated .merchant-staff-panel td[data-label="姓名"] { grid-area: 1 / 1; font-size: 14px; font-weight: 600; }
  body.authenticated .merchant-staff-panel td[data-label="状态"] { grid-area: 1 / 2; justify-self: end; }
  body.authenticated .merchant-staff-panel td[data-label="登录账号"] { grid-area: 2 / 1 / 3 / 3; overflow-wrap: anywhere; color: #536175; }
  body.authenticated .merchant-staff-panel td[data-label="身份"] { grid-area: 3 / 1; align-self: center; color: #536175; }
  body.authenticated .merchant-staff-panel td[data-label="操作"] { grid-area: 3 / 2; }
  body.authenticated .merchant-staff-panel td[data-label="权限"] { grid-area: 4 / 1 / 5 / 3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #536175; font-size: 12px; }
  body.authenticated .merchant-staff-panel td[data-label="所属商户"] { grid-area: 5 / 1 / 6 / 3; color: #536175; font-size: 11px; overflow-wrap: anywhere; }
}
