.role-panel{background:white;border:1px solid #e8edf4;min-width:0}.role-bar{display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:20px}.role-bar h2{font-size:15px;margin:0;white-space:nowrap;border-bottom:2px solid #666;padding-bottom:6px}.role-bar form{display:flex;gap:12px;align-items:center}.role-bar input{width:200px;height:30px}.role-bar button,.role-bar summary,.role-settings-footer button{background:#063551;color:white;border:0;border-radius:2px;padding:5px 12px;font-size:13px;cursor:pointer;white-space:nowrap}.role-bar .role-delete{background:#fa676b}.role-bar details{position:relative}.role-bar summary{list-style:none}.role-bar details>div{position:absolute;right:0;top:48px;z-index:8;background:white;box-shadow:0 3px 15px #bbc8d9;padding:5px}.role-bar details>div button{border-radius:0;padding:7px 14px}.role-table-scroll{overflow:auto;min-height:375px;max-height:calc(100vh - 330px)}.role-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font-size:12px;color:#666}.role-table th,.role-table td{box-sizing:border-box;min-width:120px;width:120px;padding:6px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:1px solid #e8edf4;border-bottom:1px solid #e8edf4}.role-table th{background:#f7f8fa;text-align:left;font-size:12px;font-weight:500}.role-table .role-check{width:44px;min-width:44px;position:sticky;left:0;background:white;z-index:2}.role-table th.role-check{background:#f7f8fa;z-index:4}.role-table .role-frozen{position:sticky;background:white;z-index:2}.role-table th.role-frozen{background:#f7f8fa;z-index:4}.role-table tr.selected td{background:#ecf5fb}.role-panel input[type=checkbox],.role-settings-dialog input[type=checkbox]{accent-color:#063551;width:14px;height:14px}.role-footer{display:flex;justify-content:flex-end;align-items:center;gap:20px;height:40px;border-top:1px solid #e8edf4;color:#666;font-size:12px}.role-footer select{width:150px}.role-footer button{border:0;background:white}.role-footer label{display:flex;align-items:center;gap:10px}.role-footer input{width:65px}.role-page{padding:10px;border:1px solid #ddd;border-radius:5px}.role-settings-dialog{width:675px!important;max-height:92vh}.role-settings-dialog .cfg-dialog-body{padding:0!important}.role-settings-hint{background:#063551;color:white;padding:10px 30px}.role-settings-tab{padding:24px;color:#063551;border-bottom:1px solid #e2e8ef}.role-settings-table{width:100%;border-collapse:collapse;color:#666}.role-settings-table th{height:60px;border-bottom:1px solid #eee}.role-settings-table td{padding:8px 12px}.role-settings-table th:nth-child(2){text-align:left}.role-settings-table td:nth-child(3),.role-settings-table td:nth-child(4){text-align:center}.role-settings-table td:nth-child(2){position:relative}.role-drag{cursor:grab}.role-reorder{position:absolute;right:0;opacity:0}.role-settings-table tr:hover .role-reorder,.role-reorder:focus-within{opacity:1}.role-reorder button{padding:2px 5px;border:0;background:#f1f5f9}.role-settings-footer{display:flex;justify-content:center;gap:16px;padding:22px;border-top:1px solid #ddd}.role-settings-dialog #role-settings-list{max-height:55vh;overflow-y:auto}.role-settings-dialog #role-settings-error{margin:0 20px}.role-panel~.cfg-note{display:none}@media(max-width:1100px){.role-bar{flex-wrap:wrap}.role-bar form{flex-wrap:wrap}}

.role-management-page .cfg-heading,.role-management-page #cfg-tabs{display:none}.role-management-page .cfg-main{padding-top:0}.role-management-page .role-panel{border:0}.role-management-page .role-table-scroll{border:1px solid #e8edf4}.role-management-page .role-footer{border:1px solid #e8edf4;border-top:0;padding-right:12px}
.role-management-page .role-bar button,.role-management-page .role-bar summary{font-size:13px;font-weight:400}.role-management-page .role-bar .role-delete{background:#fa676b;color:#fff}.role-management-page .role-table th{font-size:12px;font-weight:500}.role-management-page .role-table td{font-size:12px}.role-management-page .role-table-scroll{min-height:min(52vh,475px)}.role-settings-dialog .role-settings-table th,.role-settings-dialog .role-settings-table td{font-size:12px}.role-settings-dialog .role-settings-table th{background:white;font-weight:600}.role-settings-dialog .role-settings-hint{font-size:12px}.role-settings-dialog .role-settings-tab{font-size:13px}.role-settings-dialog .role-settings-footer button{font-size:13px}.role-management-page .role-footer button{background:white;color:#637181}.role-management-page .role-footer button:disabled{color:#b6bec7}.role-settings-dialog .role-settings-table th:first-child{width:15%}.role-settings-dialog .role-settings-table th:nth-child(2){width:47%}.role-settings-dialog .role-settings-table th:nth-child(3),.role-settings-dialog .role-settings-table th:nth-child(4){width:19%}
.role-management-page.erp-layout{padding-left:var(--side-w,179px)}.role-management-page.erp-layout .cfg-side{width:var(--side-w,179px)}.role-management-page .erp-brand{height:46px;font-size:18px}.role-management-page .cfg-top{height:48px}.role-management-page .erp-tabbar{height:30px}.role-management-page .erp-tabbar span{font-size:12px}.role-management-page .erp-submenus summary{font-size:12px;padding:8px 18px}.role-management-page .erp-submenus button{font-size:13px;padding:8px 12px 8px 56px}.role-management-page .role-footer{font-size:12px}.role-settings-dialog #role-settings-list{max-height:calc(92vh - 260px)}@media(max-width:1000px){.role-management-page.erp-layout{padding-left:var(--side-w,179px)}.role-management-page.erp-layout .cfg-side{width:var(--side-w,179px)}.role-management-page .erp-submenus summary{padding-left:18px}.role-management-page .erp-submenus button{padding-left:36px}}
.role-management-page.erp-layout .cfg-main .role-bar .role-delete{background:#fa676b;color:white}.role-management-page.erp-layout .cfg-main .role-footer button{background:white;color:#637181}
/* 角色列表树形折叠 */
.role-tree-indent{display:inline-block;white-space:nowrap}
.role-tree-toggle{width:16px;height:16px;border:0;background:transparent;padding:0;margin:0 4px 0 0;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;color:#8a97a6;cursor:pointer;font-size:10px;line-height:1;transition:transform .18s ease}
.role-tree-toggle::before{content:'▾'}
.role-tree-toggle.open{transform:rotate(0deg)}
.role-tree-toggle:not(.open){transform:rotate(-90deg)}
.role-tree-toggle:hover{color:#063551}
.role-tree-leaf{display:inline-block;width:16px;margin-right:4px}
