.rd-permission-configuration-preview { margin: 0; min-width: 1360px; background: #f5f7f8; }
.rd-permission-configuration-page {
  --rpc-ink: #263238;
  --rpc-blue: #2f5d7c;
  --rpc-blue-deep: #1f485f;
  --rpc-blue-soft: #eaf3f7;
  --rpc-orange: #d7792b;
  --rpc-red: #b44a3c;
  --rpc-green: #32815f;
  --rpc-paper: #f5f7f8;
  --rpc-line: #c7d4da;
  --rpc-light-line: #e0e8eb;
  min-width: 1160px;
  padding: 20px 22px 14px;
  color: var(--rpc-ink);
  background: var(--rpc-paper);
  font-family: "Microsoft YaHei", "Noto Sans SC", sans-serif;
  font-size: 14px;
}
.rd-permission-configuration-page *, .rd-permission-configuration-page *::before, .rd-permission-configuration-page *::after { box-sizing: border-box; }
.rd-permission-configuration-page button, .rd-permission-configuration-page input, .rd-permission-configuration-page select, .rd-permission-configuration-page textarea { font: inherit; }
.rd-permission-configuration-page button { cursor: pointer; }
.rpc-icon { width: 16px; height: 16px; flex: 0 0 auto; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.rpc-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 1px 5px 12px; }
.rpc-breadcrumb { margin-bottom: 5px; color: #71818a; font-size: 14px; font-weight: 700; }
.rpc-title-row { display: flex; align-items: center; gap: 10px; }
.rpc-title-row h1 { margin: 0; color: #172f3e; font-size: 29px; letter-spacing: 0; line-height: 1.25; }
.rpc-title-row p { margin: 0; }
.rpc-header p { margin: 5px 0 0; color: #70818a; font-size: 14px; }
.rpc-live-tag { padding: 4px 8px; border: 1px solid #dfbe8c; border-radius: 5px; color: #a3601c; background: #fff5e8; font-size: 14px; font-weight: 800; }
.rpc-header-actions { display: flex; gap: 8px; padding-top: 11px; }
.rpc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 34px; padding: 0 12px; border: 1px solid #b4c7d1; border-radius: 6px; background: #fff; color: #365b70; font-size: 14px; font-weight: 800; white-space: nowrap; }
.rpc-btn .rpc-icon { width: 15px; height: 15px; }
.rpc-btn--ghost:hover { border-color: var(--rpc-blue); background: #f2f8fb; color: var(--rpc-blue); }
.rpc-btn--primary { border-color: var(--rpc-blue-deep); color: #fff; background: var(--rpc-blue-deep); }
.rpc-btn--primary:hover { border-color: #15384c; background: #15384c; }
.rpc-btn--tiny { min-height: 29px; padding: 0 9px; font-size: 14px; }

.rpc-filter-bar { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)) auto; align-items: end; gap: 11px; padding: 12px 14px; border: 1px solid var(--rpc-line); border-radius: 8px; background: #fff; box-shadow: 0 1px 2px rgba(38, 50, 56, .04); }
.rpc-filter-bar label { display: grid; gap: 5px; min-width: 0; color: #536d7a; font-size: 14px; font-weight: 800; }
.rpc-filter-bar select { width: 100%; height: 34px; padding: 0 26px 0 9px; border: 1px solid #becdd4; border-radius: 5px; color: #314955; background: #fff; outline: 0; }
.rpc-filter-bar select:focus { border-color: var(--rpc-blue); box-shadow: 0 0 0 2px rgba(47, 93, 124, .1); }
.rpc-filter-bar:has(#rpcOrg) { grid-template-columns: repeat(8, minmax(118px, 1fr)) auto; }

.rpc-stat-strip { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 11px; overflow: hidden; border: 1px solid var(--rpc-line); border-radius: 8px; background: #fff; }
.rpc-stat-strip > div { min-height: 66px; padding: 10px 15px; border-right: 1px solid #dfe7ea; }
.rpc-stat-strip > div:last-child { border-right: 0; }
.rpc-stat-strip span, .rpc-stat-strip small { display: block; color: #768992; font-size: 14px; font-weight: 700; }
.rpc-stat-strip b { display: inline-block; margin: 2px 7px 1px 0; color: var(--rpc-blue-deep); font-size: 21px; line-height: 1; }
.rpc-stat-strip b.is-green { color: var(--rpc-green); }.rpc-stat-strip b.is-orange { color: var(--rpc-orange); }.rpc-stat-strip b.is-red { color: var(--rpc-red); }

.rpc-main-grid { display: grid; grid-template-columns: 278px minmax(720px, 1fr) 286px; gap: 12px; margin-top: 12px; align-items: start; }
.rpc-left-column, .rpc-center-column, .rpc-detail-panel { min-width: 0; }
.rpc-role-panel, .rpc-boundary-section, .rpc-operation-section, .rpc-detail-panel, .rpc-timeline-panel, .rpc-audit-panel { overflow: hidden; border: 1px solid var(--rpc-line); border-radius: 8px; background: #fff; box-shadow: 0 1px 2px rgba(38, 50, 56, .045); }
.rpc-panel-title { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 0 12px; border-bottom: 1px solid #dce5e8; background: #fbfcfd; }
.rpc-panel-title h2 { display: flex; align-items: center; gap: 7px; margin: 0; color: #2a4656; font-size: 16px; line-height: 1; }
.rpc-panel-title h2 .rpc-icon { color: var(--rpc-blue); }
.rpc-panel-tools { display: flex; align-items: center; gap: 6px; }
.rpc-panel-tools button, .rpc-text-action { display: inline-flex; align-items: center; gap: 4px; padding: 2px; border: 0; color: #66808d; background: transparent; font-size: 14px; font-weight: 800; }
.rpc-panel-tools button:hover, .rpc-text-action:hover { color: var(--rpc-orange); }
.rpc-panel-tools button .rpc-icon { width: 15px; height: 15px; }
.rpc-searchbox { display: flex; align-items: center; gap: 6px; height: 34px; margin: 10px 11px 8px; padding: 0 8px; border: 1px solid #c8d5da; border-radius: 5px; color: #7a8d96; background: #fff; }
.rpc-searchbox .rpc-icon { width: 14px; height: 14px; }
.rpc-searchbox input { min-width: 0; flex: 1; border: 0; outline: 0; color: #3b505b; background: transparent; font-size: 14px; }
.rpc-searchbox button { padding: 0; border: 0; color: #9aacb3; background: transparent; font-size: 16px; line-height: 1; }
.rpc-role-scroll { max-height: 565px; overflow-y: auto; scrollbar-gutter: stable; }
.rpc-org-group { border-top: 1px solid #e8eef0; }
.rpc-org-head { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 31px; padding: 0 11px; border: 0; color: #506b78; background: #f8fafb; font-size: 14px; font-weight: 800; text-align: left; }
.rpc-org-head span { display: inline-flex; align-items: center; gap: 5px; }.rpc-org-head .rpc-icon { width: 13px; height: 13px; transform: rotate(-90deg); }
.rpc-org-head.is-collapsed .rpc-icon { transform: rotate(0deg); }
.rpc-org-head em { min-width: 18px; color: #6b8490; font-size: 14px; font-style: normal; text-align: right; }
.rpc-org-roles { padding: 3px 5px 5px; }
.rpc-role-block { margin: 2px 0; }
.rpc-role-head { display: grid; grid-template-columns: 17px minmax(0, 1fr) auto auto; align-items: center; gap: 5px; width: 100%; min-height: 29px; padding: 0 7px; border: 0; border-radius: 4px; color: #445d6a; background: transparent; text-align: left; }
.rpc-role-head .rpc-icon { width: 14px; height: 14px; color: var(--rpc-blue); }.rpc-role-head b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }.rpc-role-head small { color: #8a9ba2; font-size: 14px; }.rpc-role-head em { padding-left: 2px; color: #6d828c; font-size: 14px; font-style: normal; }
.rpc-role-head:hover, .rpc-role-head.is-active { color: #1f4e6a; background: #eaf4f9; }
.rpc-user-list { display: grid; gap: 1px; margin: 1px 0 4px 13px; padding-left: 6px; border-left: 1px dashed #c3d2d8; }
.rpc-user-row { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 5px; min-height: 30px; padding: 3px 5px; border: 0; border-radius: 4px; color: #566d79; background: transparent; text-align: left; }
.rpc-user-row:hover, .rpc-user-row.is-selected { background: #edf6fa; color: #1d4b66; }.rpc-user-row.is-selected { box-shadow: inset 3px 0 0 var(--rpc-blue); }
.rpc-avatar { display: grid; place-items: center; width: 18px; height: 18px; border: 1px solid #8caabd; border-radius: 50%; color: var(--rpc-blue); background: #fff; font-size: 14px; font-weight: 800; }
.rpc-user-row b, .rpc-user-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.rpc-user-row b { font-size: 14px; }.rpc-user-row small { color: #80929a; font-size: 14px; }
.rpc-role-summary { padding: 10px 12px; border-top: 1px solid #dce6e9; background: #f8fafb; }.rpc-role-summary span, .rpc-role-summary small { display: block; color: #758993; font-size: 14px; }.rpc-role-summary b { display: block; margin: 3px 0; color: #294c60; font-size: 14px; }

.rpc-boundary-section { min-height: 534px; }.rpc-boundary-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 75px; padding: 12px 14px; border-bottom: 1px solid #dce5e8; }.rpc-boundary-head h2, .rpc-subsection-head h2 { margin: 0; color: #2a4656; font-size: 17px; }.rpc-boundary-head p { margin: 5px 0 0; color: #71848d; font-size: 14px; }.rpc-boundary-head p b { color: var(--rpc-blue); }.rpc-boundary-actions { display: flex; gap: 7px; }.rpc-boundary-actions select, .rpc-inline-filters select, .rpc-audit-actions select { height: 29px; padding: 0 23px 0 8px; border: 1px solid #c6d3d8; border-radius: 4px; color: #506872; background: #fff; font-size: 14px; outline: 0; }
.rpc-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 8px 14px; border-bottom: 1px solid #e7edef; color: #647a84; font-size: 14px; }.rpc-legend span { display: inline-flex; align-items: center; gap: 4px; }.dot { display: inline-grid; place-items: center; width: 12px; height: 12px; border-radius: 50%; }.dot--none { background: #c7cdd1; }.dot--read { background: #8cc1e2; }.dot--write { background: #78b052; }.dot--manage { background: #25709c; }.dot--partial { background: #e6a65b; }.dot--locked { color: #fff; background: #d54d40; }.dot--locked .rpc-icon { width: 8px; height: 8px; }
.rpc-matrix-scroll, .rpc-op-scroll { overflow: auto; scrollbar-gutter: stable; }.rpc-boundary-matrix { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 14px; }.rpc-boundary-matrix th, .rpc-boundary-matrix td { height: 49px; border-right: 1px solid #dfe7ea; border-bottom: 1px solid #d7e1e5; text-align: center; }.rpc-boundary-matrix thead th { height: 35px; border-top: 2px solid var(--rpc-ink); border-bottom-color: var(--rpc-blue); color: #314b5b; background: #eef4f6; font-weight: 800; }.rpc-boundary-matrix thead th:first-child { width: 150px; padding-left: 12px; text-align: left; }.rpc-boundary-matrix tbody tr:nth-child(even) { background: #fbfdfe; }.rpc-boundary-matrix tbody th { width: 150px; padding: 6px 8px 6px 11px; color: #455e6a; text-align: left; }.rpc-boundary-matrix tbody th > span { display: inline-grid; vertical-align: middle; margin-right: 5px; color: var(--rpc-blue); }.rpc-boundary-matrix tbody th .rpc-icon { width: 13px; height: 13px; }.rpc-boundary-matrix tbody th b, .rpc-boundary-matrix tbody th small { display: inline; }.rpc-boundary-matrix tbody th b { font-size: 14px; }.rpc-boundary-matrix tbody th small { display: block; margin: 2px 0 0 19px; color: #8a9aa1; font-size: 14px; font-weight: 400; }.rpc-scope-cell { display: grid; place-items: center; width: 19px; height: 19px; margin: 0 auto 2px; padding: 0; border: 0; border-radius: 50%; background: transparent; }.rpc-scope-cell i { display: block; width: 13px; height: 13px; border-radius: 50%; }.rpc-scope-cell--none i { background: #c7cdd1; }.rpc-scope-cell--read i { background: #8cc1e2; }.rpc-scope-cell--write i { background: #78b052; }.rpc-scope-cell--manage i { background: #25709c; }.rpc-scope-cell--partial i { background: #e6a65b; }.rpc-scope-cell--locked { color: #d54d40; }.rpc-scope-cell--locked .rpc-icon { width: 16px; height: 16px; stroke-width: 1.7; }.rpc-scope-cell:hover { outline: 2px solid rgba(47,93,124,.18); }.rpc-boundary-matrix td small { color: #83949c; font-size: 12px; }.rpc-matrix-note { padding: 9px 14px; color: #7d9099; font-size: 14px; }

.rpc-operation-section { margin-top: 11px; }.rpc-subsection-head { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 0 14px; border-bottom: 1px solid #dce5e8; }.rpc-subsection-head span { display: block; margin-top: 4px; color: #81929a; font-size: 14px; }.rpc-diff-count { color: var(--rpc-blue); font-size: 14px; }.rpc-op-matrix { width: 100%; min-width: 940px; border-collapse: collapse; font-size: 14px; }.rpc-op-matrix th, .rpc-op-matrix td { height: 31px; border-right: 1px solid #e1e9ec; border-bottom: 1px solid #e1e9ec; text-align: center; }.rpc-op-matrix thead th { height: 32px; border-top: 2px solid var(--rpc-ink); border-bottom-color: var(--rpc-blue); color: #526c78; background: #eef4f6; font-weight: 800; }.rpc-op-matrix thead th:first-child, .rpc-op-matrix tbody th { min-width: 150px; padding-left: 13px; text-align: left; }.rpc-op-matrix tbody th { color: #455e6a; font-size: 14px; }.rpc-op-matrix tbody tr:nth-child(even) { background: #fafcfd; }.rpc-op-cell { display: grid; place-items: center; width: 18px; height: 18px; margin: auto; padding: 0; border: 1px solid #c8d4d8; border-radius: 3px; color: #fff; background: #fff; }.rpc-op-cell.is-checked { border-color: var(--rpc-blue); background: var(--rpc-blue); }.rpc-op-cell .rpc-icon { width: 12px; height: 12px; stroke-width: 2; }.rpc-op-cell:hover { border-color: var(--rpc-orange); }.rpc-operation-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 10px 14px; background: #fbfcfd; }

.rpc-detail-panel { min-height: 736px; }.rpc-role-identity { display: flex; align-items: center; gap: 10px; padding: 14px 13px 10px; }.rpc-role-emblem { display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid #94b0c0; border-radius: 8px; color: var(--rpc-blue); background: #edf6f9; }.rpc-role-emblem .rpc-icon { width: 24px; height: 24px; }.rpc-role-identity h3 { margin: 0 0 3px; color: #294655; font-size: 15px; }.rpc-role-identity h3 span { padding: 3px 5px; border-radius: 4px; color: #2b6183; background: #e1eff7; font-size: 14px; }.rpc-role-identity b { color: #657b86; font-size: 14px; }.rpc-detail-list { margin: 0; padding: 0 13px; }.rpc-detail-list div { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 6px; min-height: 26px; }.rpc-detail-list dt { color: #7b8e96; font-size: 14px; }.rpc-detail-list dd { margin: 0; color: #455c67; font-size: 14px; font-weight: 800; overflow-wrap: anywhere; }.rpc-detail-divider { height: 1px; margin: 10px 13px; background: #dfe7ea; }.rpc-detail-section { padding: 0 13px 11px; }.rpc-detail-section-head { display: flex; align-items: center; justify-content: space-between; }.rpc-detail-section h3 { margin: 0; color: #334f5f; font-size: 14px; }.rpc-detail-hint { margin: 7px 0; color: #667d87; font-size: 14px; }.rpc-scope-list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }.rpc-scope-list li { display: grid; grid-template-columns: 13px minmax(0, 1fr); align-items: center; gap: 5px; color: #4f6672; font-size: 14px; }.rpc-scope-list b { font-size: 14px; }.rpc-scope-list small { grid-column: 2; margin-top: -4px; color: #87979e; font-size: 14px; }.rpc-chip-list { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }.rpc-chip { padding: 3px 5px; border: 0; border-radius: 4px; font-size: 14px; font-weight: 800; }.rpc-chip--warning { color: #b0601a; background: #fff0de; }.rpc-chip--warning:hover { color: #fff; background: var(--rpc-orange); }.rpc-switch { position: relative; display: inline-flex; width: 34px; height: 19px; }.rpc-switch input { opacity: 0; width: 0; height: 0; }.rpc-switch span { position: absolute; inset: 0; border-radius: 12px; background: #a5b4ba; }.rpc-switch span::before { position: absolute; top: 3px; left: 3px; width: 13px; height: 13px; border-radius: 50%; background: #fff; content: ""; transition: .18s ease; }.rpc-switch input:checked + span { background: #68a642; }.rpc-switch input:checked + span::before { transform: translateX(15px); }.rpc-login-section { padding-top: 1px; border-top: 1px dashed #d5e0e4; }.rpc-login-meta { display: grid; grid-template-columns: 45px 1fr; gap: 4px 6px; margin-top: 7px; color: #8a9aa1; font-size: 14px; }.rpc-login-meta b { color: #526b77; font-size: 14px; }.rpc-detail-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 3px 13px 10px; }.rpc-detail-actions .rpc-btn { min-width: 0; padding: 0 6px; font-size: 14px; }.rpc-detail-footnote { padding: 7px 13px; border-top: 1px solid #dce6e9; color: #78909a; background: #f8fafb; font-size: 14px; }

.rpc-status { display: inline-flex; align-items: center; justify-content: center; min-height: 18px; padding: 2px 5px; border-radius: 4px; font-size: 14px; font-style: normal; font-weight: 800; white-space: nowrap; }.rpc-status--enabled, .rpc-status--success { color: #287552; background: #e9f6ed; }.rpc-status--disabled { color: #74858c; background: #edf1f2; }.rpc-status--pending { color: #aa691c; background: #fff2df; }.rpc-status--restricted, .rpc-status--blocked { color: #ad473d; background: #fff0ee; }.rpc-status--muted { color: #778990; background: #edf2f3; }

.rpc-bottom-grid { display: grid; grid-template-columns: minmax(450px, .95fr) minmax(700px, 1.35fr); gap: 12px; margin-top: 12px; }.rpc-timeline-panel, .rpc-audit-panel { min-height: 288px; }.rpc-inline-filters, .rpc-audit-actions { display: flex; gap: 6px; }.rpc-timeline-list { max-height: 241px; overflow-y: auto; padding: 7px 12px 10px; scrollbar-gutter: stable; }.rpc-timeline-item { position: relative; display: grid; grid-template-columns: 51px 15px minmax(0, 1fr) auto; gap: 8px; align-items: start; min-height: 44px; padding: 6px 0; }.rpc-timeline-item:not(:last-child)::before { position: absolute; top: 27px; bottom: -7px; left: 57px; border-left: 1px solid #cad8de; content: ""; }.rpc-timeline-item time { display: grid; justify-items: end; color: #617986; font-size: 14px; font-weight: 800; }.rpc-timeline-item time small { color: #8b9ca3; font-size: 12px; }.rpc-timeline-dot { z-index: 1; display: block; width: 10px; height: 10px; margin-top: 3px; border: 2px solid #77a1ba; border-radius: 50%; background: #fff; }.rpc-timeline-dot.is-current { border-color: var(--rpc-orange); background: #fff3e4; }.rpc-timeline-item h3 { margin: 0; color: #3d5765; font-size: 14px; }.rpc-timeline-item p { margin: 2px 0; color: #687d87; font-size: 14px; line-height: 1.45; }.rpc-timeline-item span { color: #82939a; font-size: 14px; }.rpc-timeline-item span b { color: #607885; }.rpc-timeline-item .rpc-btn { margin-top: 2px; }
.rpc-audit-table-wrap { max-height: 221px; overflow: auto; scrollbar-gutter: stable; }.rpc-audit-table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 14px; }.rpc-audit-table th, .rpc-audit-table td { height: 32px; padding: 5px 9px; border-right: 1px solid #e0e8eb; border-bottom: 1px solid #e0e8eb; text-align: left; white-space: nowrap; }.rpc-audit-table th { position: sticky; top: 0; z-index: 1; border-top: 2px solid var(--rpc-ink); border-bottom-color: var(--rpc-blue); color: #526a76; background: #eef4f6; font-weight: 800; }.rpc-audit-table tr { cursor: pointer; }.rpc-audit-table tbody tr:hover { background: #edf6fa; }.rpc-audit-table td:first-child { color: #667f8b; }.rpc-audit-table td:nth-child(5) { min-width: 180px; white-space: normal; }.rpc-audit-table td small { display: block; overflow: hidden; color: #82949c; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.rpc-audit-table b { color: #35596e; }.rpc-audit-foot { display: flex; justify-content: space-between; padding: 8px 12px; border-top: 1px solid #dce6e9; color: #80929a; background: #fbfcfd; font-size: 14px; }.rpc-audit-foot b { color: #66808c; font-weight: 700; }.rpc-empty { padding: 26px !important; color: #80919a; text-align: center !important; }
.rpc-footer { display: flex; justify-content: space-between; gap: 16px; padding: 9px 4px 0; color: #788b94; font-size: 14px; }

.rpc-modal-layer { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 24px; background: rgba(27, 43, 51, .42); }.rpc-modal { width: min(610px, calc(100vw - 48px)); max-height: calc(100vh - 48px); overflow: hidden; border: 1px solid #bdcdd5; border-radius: 10px; background: #fff; box-shadow: 0 22px 58px rgba(24, 44, 57, .3); }.rpc-modal--wide { width: min(840px, calc(100vw - 48px)); }.rpc-modal header { display: flex; align-items: center; justify-content: space-between; min-height: 63px; padding: 10px 18px; border-bottom: 1px solid #dce5e8; background: #f8fafb; }.rpc-modal header span { color: #7b8f98; font-size: 14px; font-weight: 800; }.rpc-modal h2 { margin: 3px 0 0; color: #294655; font-size: 18px; }.rpc-modal-close { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 6px; color: #6c818b; background: #e8eff2; }.rpc-modal-close .rpc-icon { width: 16px; height: 16px; }.rpc-modal-close:hover { color: #fff; background: var(--rpc-orange); }.rpc-modal-body { max-height: calc(100vh - 183px); padding: 17px 19px; overflow-y: auto; color: #526a75; }.rpc-modal footer { display: flex; justify-content: flex-end; gap: 8px; padding: 10px 18px; border-top: 1px solid #dce5e8; background: #fbfcfd; }.rpc-modal footer .rpc-btn { min-width: 78px; }
.rpc-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }.rpc-detail-grid > div { min-height: 50px; padding: 8px 0; border-bottom: 1px solid #e4ecef; }.rpc-detail-grid > div.full { grid-column: 1 / -1; }.rpc-detail-grid span { display: block; color: #83949b; font-size: 14px; }.rpc-detail-grid b, .rpc-detail-grid p { display: block; margin: 3px 0 0; color: #405966; font-size: 14px; }.rpc-detail-grid p { font-weight: 600; line-height: 1.55; }.rpc-confirm-box { color: #566e78; font-size: 14px; line-height: 1.6; }.rpc-confirm-row { display: grid; grid-template-columns: 85px minmax(0, 1fr); gap: 8px; padding: 7px 0; border-bottom: 1px solid #e4ecef; }.rpc-confirm-row span { color: #85969d; }.rpc-confirm-row b { color: #3e5865; overflow-wrap: anywhere; }.rpc-confirm-box label, .rpc-modal-label { display: grid; gap: 5px; margin-top: 12px; color: #516a76; font-size: 14px; font-weight: 800; }.rpc-confirm-box select, .rpc-confirm-box textarea, .rpc-modal-label textarea, .rpc-form input, .rpc-form select { width: 100%; min-height: 35px; padding: 7px 8px; border: 1px solid #bfced5; border-radius: 5px; outline: 0; color: #3d5663; background: #fff; }.rpc-confirm-box textarea, .rpc-modal-label textarea { min-height: 70px; resize: vertical; }.rpc-confirm-box select:focus, .rpc-confirm-box textarea:focus, .rpc-modal-label textarea:focus, .rpc-form input:focus, .rpc-form select:focus { border-color: var(--rpc-blue); box-shadow: 0 0 0 2px rgba(47,93,124,.12); }.rpc-risk-note { display: flex; align-items: flex-start; gap: 6px; margin: 10px 0; padding: 8px 9px; border-left: 3px solid var(--rpc-orange); color: #9b5d1f; background: #fff6ea; font-size: 14px; }.rpc-risk-note .rpc-icon { color: var(--rpc-orange); }.rpc-form-error { min-height: 18px; margin: 6px 0 0; color: var(--rpc-red); font-size: 14px; font-weight: 800; }.rpc-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.rpc-form label { display: grid; gap: 5px; color: #526a76; font-size: 14px; font-weight: 800; }.rpc-form .rpc-form-error { grid-column: 1 / -1; }.rpc-diff-box { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 13px; padding: 13px; border: 1px solid #d5e2e7; border-radius: 7px; background: #f6fafb; }.rpc-diff-box div { display: grid; justify-items: center; gap: 3px; }.rpc-diff-box span { color: #82949b; font-size: 14px; }.rpc-diff-box b { color: var(--rpc-blue); font-size: 22px; }.rpc-diff-arrow { color: var(--rpc-orange) !important; font-size: 22px; }.rpc-blocked-box { display: flex; gap: 12px; align-items: flex-start; padding: 11px; border-left: 4px solid var(--rpc-red); background: #fff4f2; }.rpc-blocked-box > .rpc-icon { width: 26px; height: 26px; color: var(--rpc-red); }.rpc-blocked-box b { color: #93453c; }.rpc-blocked-box p { margin: 5px 0 0; color: #725d5a; font-size: 14px; line-height: 1.55; }.rpc-timeline-detail dl { display: grid; grid-template-columns: 95px 1fr; margin: 0; }.rpc-timeline-detail dt, .rpc-timeline-detail dd { margin: 0; padding: 8px 0; border-bottom: 1px solid #e4ecef; }.rpc-timeline-detail dt { color: #81929a; font-size: 14px; }.rpc-timeline-detail dd { color: #3f5965; font-size: 14px; font-weight: 700; }
.rpc-toast { position: fixed; right: 24px; bottom: 24px; z-index: 150; padding: 10px 14px; border-radius: 6px; color: #fff; background: #284f65; box-shadow: 0 8px 24px rgba(24, 45, 58, .25); font-size: 14px; font-weight: 800; animation: rpc-toast-in .22s ease-out; }@keyframes rpc-toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1650px) { .rd-permission-configuration-page { padding-inline: 15px; }.rpc-main-grid { grid-template-columns: 255px minmax(650px, 1fr) 266px; }.rpc-filter-bar { grid-template-columns: repeat(5, minmax(110px, 1fr)) auto; }.rpc-stat-strip > div { padding-inline: 11px; }.rpc-role-scroll { max-height: 530px; } }
@media (max-width: 1320px) { .rpc-main-grid { grid-template-columns: 242px minmax(625px, 1fr); }.rpc-detail-panel { grid-column: 1 / -1; min-height: 0; }.rpc-detail-list { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 20px; }.rpc-bottom-grid { grid-template-columns: 1fr; } }
