.page-title-box[data-v-b97200b6]{padding-bottom:8px}.env-banner[data-v-b97200b6]{width:100%;text-align:center;font-weight:600;padding:6px 0;font-size:14px;letter-spacing:.5px;color:#fff;margin-bottom:1%}.env-banner.dev[data-v-b97200b6]{background-color:#dc3545}.env-banner.demo[data-v-b97200b6]{background-color:#fd7e14}.refresh-button__content[data-v-9b2ca056]{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:100%;text-align:center}.refresh-button__icon[data-v-9b2ca056]{display:inline-flex;align-items:center;justify-content:center;line-height:1}.refresh-button__icon[data-v-9b2ca056]:before{font-size:inherit}.refresh-button__label[data-v-9b2ca056]{display:inline-flex;align-items:center;justify-content:center;line-height:1}.spinning[data-v-9b2ca056]{animation:spin-9b2ca056 1s linear infinite}@keyframes spin-9b2ca056{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.roles-page{color:var(--text-main);font-size:14px;padding-top:10px}.roles-card{border:1px solid var(--border-muted);box-shadow:var(--shadow-md);background:#fff}.roles-card-body{background:linear-gradient(180deg,#fff,#f8fafc);padding:1rem 1rem}.roles-toolbar .btn{border-radius:7px;letter-spacing:.01em}.roles-toolbar{align-items:center}.roles-page .role-toolbar-btn{min-height:36px;font-size:14px;font-weight:600;padding:.38rem .72rem}.roles-page .btn-primary{background:var(--brand-accent);border-color:var(--brand-accent);box-shadow:0 6px 16px rgba(61,126,255,.18)}.roles-page .btn-primary:focus,.roles-page .btn-primary:hover{background:#2f6ae6;border-color:#2f6ae6}.roles-page .btn-success{background:var(--brand-primary);border-color:var(--brand-primary);box-shadow:0 6px 16px rgba(47,42,94,.18)}.roles-page .btn-success:focus,.roles-page .btn-success:hover{background:#25224f;border-color:#25224f}.roles-page .text-primary{color:var(--brand-accent)!important}.roles-page .form-control,.roles-page .multiselect__tags{border:1px solid var(--border-muted);border-radius:8px;font-size:14px}.roles-page label{font-size:14px}.roles-page .form-control:focus,.roles-page .multiselect__tags:focus-within{border-color:var(--brand-accent);box-shadow:0 0 0 .15rem rgba(61,126,255,.18)}.roles-grid .role-card{border:1px solid var(--border-muted);border-radius:11px;background:#fff;box-shadow:0 5px 14px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:8px;padding:10px;min-height:182px}.roles-grid{margin-left:-6px;margin-right:-6px}.roles-grid>[class*=col-]{padding-left:6px;padding-right:6px;margin-bottom:12px}.roles-grid .role-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.roles-grid .role-title h5{font-size:17px;line-height:1.2;display:inline-flex;align-items:center;gap:4px;margin-bottom:0}.roles-grid .role-icon-wrap{width:24px;height:24px;border-radius:6px;background:linear-gradient(180deg,#f8fbff,#eef4ff);color:#28436b;border:1px solid #d2e2fb;display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.7)}.roles-grid .role-date{font-size:13px;color:var(--text-muted)}.roles-grid .role-card-header h5{color:var(--brand-primary);font-weight:700;margin-bottom:0}.roles-grid .role-card-body{display:flex;flex-direction:column;gap:8px}.roles-grid .role-description-preview{margin:0;font-size:14px;color:var(--text-muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:18px}.roles-grid .role-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.roles-grid .role-stat{border:1px solid var(--border-muted);border-radius:8px;background:#f8fafc;padding:6px 8px;display:flex;flex-direction:column;gap:2px}.roles-grid .role-stat-label{font-size:13px;color:var(--text-muted);line-height:1.2}.roles-grid .role-stat-value{font-size:17px;font-weight:700;color:var(--text-main);line-height:1.1}.roles-grid .role-users-label{font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:4px}.roles-grid .role-user-list{max-height:56px;overflow:auto}.roles-grid .role-user-chip{background:var(--surface);border:1px solid var(--border-muted);color:var(--text-main);border-radius:999px;padding:3px 8px;font-size:13px;margin-right:3px;margin-bottom:3px;display:inline-flex}.roles-grid .role-empty{font-size:13px;color:var(--text-muted)}.roles-grid .role-card-footer{margin-top:auto;display:flex;gap:6px}.roles-grid .role-action-btn{border-radius:7px;font-weight:600;font-size:14px;min-height:34px;padding:.3rem .7rem}.roles-grid .role-action-edit{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.roles-grid .role-action-delete{background:var(--brand-danger);border-color:var(--brand-danger);color:#fff}#modal-create-role .modal-content,#modal-delete-role .modal-content,#modal-edit-role .modal-content{border-radius:14px;border:1px solid var(--border-muted);box-shadow:var(--shadow-md);background:linear-gradient(180deg,#fff,#f8fafc)}#modal-create-role .modal-header,#modal-delete-role .modal-header,#modal-edit-role .modal-header{border-bottom:1px solid var(--border-muted)}#modal-create-role .modal-title,#modal-delete-role .modal-title,#modal-edit-role .modal-title{color:var(--brand-primary);font-weight:700}#modal-create-role .btn-success,#modal-delete-role .btn-success,#modal-edit-role .btn-success{background:var(--brand-primary);border-color:var(--brand-primary);box-shadow:0 6px 16px rgba(47,42,94,.18)}#modal-create-role .btn-success:focus,#modal-create-role .btn-success:hover,#modal-delete-role .btn-success:focus,#modal-delete-role .btn-success:hover,#modal-edit-role .btn-success:focus,#modal-edit-role .btn-success:hover{background:#25224f;border-color:#25224f}#modal-create-role .btn-danger,#modal-delete-role .btn-danger,#modal-edit-role .btn-danger{background:var(--brand-danger);border-color:var(--brand-danger)}.disabled-link{pointer-events:none;opacity:.5}@media (min-width:991px) and (max-width:1100px){.roles-page{padding-top:0}.roles-card{border-radius:9px}.roles-card-body{padding:.75rem}.roles-toolbar{margin-bottom:0!important}.roles-page .btn,.roles-page .role-toolbar-btn{min-height:32px;padding:.3rem .55rem;font-size:.85rem!important;border-radius:6px}.roles-page .btn i{font-size:.9rem}.roles-grid{margin-top:.35rem;margin-left:-5px;margin-right:-5px}.roles-grid>[class*=col-]{padding-left:5px;padding-right:5px;margin-bottom:10px}.roles-grid>.col-sm-12{flex:0 0 33.33333%;max-width:33.33333%}.roles-grid .role-card{padding:8px;gap:6px;min-height:auto;border-radius:9px}.roles-grid .role-card-header{gap:6px}.roles-grid .role-title h5{font-size:14px;gap:3px;font-weight:600}.roles-grid .role-icon-wrap{width:20px;height:20px;font-size:12px;border-radius:5px}.roles-grid .role-date{font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.roles-grid .role-card-header h5{font-size:14px}.roles-grid .role-description-preview{font-size:13px;min-height:auto;margin:0;line-height:1.3;-webkit-line-clamp:2}.roles-grid .role-stats{gap:4px;grid-template-columns:repeat(2,minmax(0,1fr))}.roles-grid .role-stat{border-radius:6px;padding:5px 6px;gap:1px}.roles-grid .role-stat-label{font-size:11px;line-height:1.1}.roles-grid .role-stat-value{font-size:15px;line-height:1}.roles-grid .role-users-label{font-size:11px;margin-bottom:3px;font-weight:600}.roles-grid .role-user-list{max-height:42px;overflow:auto}.roles-grid .role-user-chip{font-size:11px;padding:2px 6px;margin-right:2px;margin-bottom:2px;border-radius:12px}.roles-grid .role-empty{font-size:11px}.roles-grid .role-card-footer{gap:4px;margin-top:6px}.roles-grid .role-action-btn{min-height:30px;padding:.2rem .5rem;font-size:.8rem;border-radius:6px;flex:1;white-space:nowrap}.roles-grid .role-action-btn i{font-size:.85rem}}@media (min-width:992px) and (max-height:800px),(min-width:992px) and (max-width:1100px){.roles-page{padding-top:0}.roles-card-body{padding:.85rem .95rem}.roles-toolbar{margin-bottom:0!important}.roles-page .btn,.roles-page .role-toolbar-btn{min-height:34px;padding:.35rem .68rem;font-size:.92rem!important}.roles-page .btn i{font-size:.95rem}.roles-grid{margin-top:.45rem;margin-left:-5px;margin-right:-5px}.roles-grid>[class*=col-]{padding-left:5px;padding-right:5px;margin-bottom:10px}.roles-grid .role-card{padding:8px;gap:6px;min-height:164px}.roles-grid .role-title h5{font-size:15px;gap:3px}.roles-grid .role-icon-wrap{width:22px;height:22px;font-size:14px}.roles-grid .role-date,.roles-grid .role-empty,.roles-grid .role-stat-label,.roles-grid .role-user-chip,.roles-grid .role-users-label{font-size:12px}.roles-grid .role-description-preview{font-size:13px;min-height:16px}.roles-grid .role-stats{gap:5px}.roles-grid .role-stat{padding:5px 7px}.roles-grid .role-stat-value{font-size:15px}.roles-grid .role-user-list{max-height:48px}.roles-grid .role-user-chip{padding:2px 7px;margin-right:2px;margin-bottom:2px}.roles-grid .role-card-footer{gap:5px}.roles-grid .role-action-btn{min-height:32px;padding:.26rem .55rem;font-size:.88rem}#modal-create-role .modal-dialog,#modal-edit-role .modal-dialog{max-width:980px}#modal-delete-role .modal-dialog{max-width:440px}#modal-create-role .modal-header,#modal-delete-role .modal-header,#modal-edit-role .modal-header{padding:.7rem .9rem}#modal-create-role .modal-body,#modal-delete-role .modal-body,#modal-edit-role .modal-body{padding:.85rem .95rem}#modal-create-role .row.pl-4.pr-4,#modal-edit-role .row.pl-4.pr-4{padding-left:.25rem!important;padding-right:.25rem!important}#modal-create-role .form-group,#modal-edit-role .form-group{margin-bottom:.7rem!important}#modal-create-role .form-control,#modal-create-role .multiselect__tags,#modal-edit-role .form-control,#modal-edit-role .multiselect__tags{min-height:34px;font-size:.92rem}#modal-create-role .card,#modal-edit-role .card{margin-bottom:.7rem!important}#modal-create-role .card-body,#modal-edit-role .card-body{padding:.75rem}#modal-create-role .custom-switch,#modal-edit-role .custom-switch{font-size:.9rem}#modal-create-role .btn,#modal-delete-role .btn,#modal-edit-role .btn{min-height:34px;padding:.35rem .7rem;font-size:.92rem!important}}.roles-page .toolbar-add-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:0;width:auto;padding:.42rem .48rem;font-size:1rem!important;text-align:center}.roles-page .toolbar-add-btn__content,.roles-page .toolbar-export-btn__content,.roles-page .toolbar-refresh-btn .refresh-button__content{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:100%;text-align:center}.roles-page .toolbar-add-btn .toolbar-add-btn__icon,.roles-page .toolbar-export-btn .toolbar-export-btn__icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.roles-page .toolbar-add-btn .toolbar-add-btn__icon:before,.roles-page .toolbar-export-btn .toolbar-export-btn__icon:before{font-size:inherit}.roles-page .toolbar-add-btn__label,.roles-page .toolbar-export-btn__label{display:inline-flex;align-items:center;justify-content:center;line-height:1;text-transform:uppercase}.roles-page .toolbar-export-btn,.roles-page .toolbar-refresh-btn .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important}@media (max-height:820px) and (max-width:991.98px),(max-width:767.98px){.roles-page .toolbar-add-btn,.roles-page .toolbar-export-btn,.roles-page .toolbar-refresh-btn .btn{min-height:50px!important;padding:.5rem 1rem!important;border-radius:9px!important}.roles-page .toolbar-add-btn__label,.roles-page .toolbar-export-btn__label,.roles-page .toolbar-refresh-btn .refresh-button__label{font-size:.92rem!important;font-weight:700;text-transform:uppercase}.roles-page .toolbar-add-btn .toolbar-add-btn__icon,.roles-page .toolbar-export-btn .toolbar-export-btn__icon,.roles-page .toolbar-refresh-btn .refresh-button__icon{font-size:1.42rem!important}.roles-grid .role-card{padding:10px;min-height:auto}.roles-grid .role-title h5{font-size:15px}.roles-grid .role-action-btn{flex:1;white-space:nowrap}}@media (min-width:768px) and (max-width:991.98px){.roles-page{padding-top:5px}.roles-card-body{padding:.8rem}.roles-grid{margin-left:-5px;margin-right:-5px}.roles-grid>[class*=col-]{padding-left:5px;padding-right:5px;margin-bottom:10px}.roles-grid>.col-sm-12{flex:0 0 50%;max-width:50%}.roles-grid .role-card{padding:9px;min-height:auto}.roles-grid .role-title h5{font-size:15px;gap:3px}.roles-grid .role-description-preview{font-size:13px;line-height:1.3;-webkit-line-clamp:2}.roles-grid .role-action-btn{flex:1}}@media (min-width:1024px) and (max-width:1100px){.roles-grid>.col-sm-12{flex:0 0 33.33333%;max-width:33.33333%}}@media (min-width:1024px) and (max-width:1366px) and (max-height:768px){.roles-page{padding-top:5px}.roles-grid>.col-sm-12{flex:0 0 33.33333%;max-width:33.33333%}.roles-grid .role-card{min-height:auto;padding:8px;gap:6px}.roles-grid .role-card-footer{display:flex;gap:4px}.roles-grid .role-action-btn{flex:1}}@media (min-width:1101px) and (min-height:801px){.roles-page .toolbar-refresh-btn{margin-left:.35rem}.roles-page .toolbar-refresh-btn .btn{transform:scale(1)!important;min-height:34px!important;padding:.28rem .72rem!important}.roles-page .toolbar-refresh-btn .refresh-button__label{font-size:.76rem!important;font-weight:700;text-transform:uppercase}.roles-page .toolbar-refresh-btn .refresh-button__icon{font-size:1.06rem!important}}@media (min-width:992px) and (max-height:800px),(min-width:992px) and (max-width:1100px){.roles-page .toolbar-export-btn,.roles-page .toolbar-refresh-btn .btn{min-height:40px!important;padding:.36rem .9rem!important;border-radius:8px!important}.roles-page .toolbar-add-btn{min-height:34px!important;padding:.28rem .72rem!important}.roles-page .toolbar-add-btn__label{font-size:.8rem!important;font-weight:700}.roles-page .toolbar-add-btn .toolbar-add-btn__icon{font-size:1.2rem!important}.roles-page .toolbar-export-btn__label,.roles-page .toolbar-refresh-btn .refresh-button__label{font-size:.88rem!important;font-weight:700;text-transform:uppercase}.roles-page .row>.col-md-6 .btn .refresh-button__icon,.roles-page .row>.col-md-6 .btn .toolbar-export-btn__icon,.roles-page>.card>.card-body>.row.mb-1 .btn .refresh-button__icon,.roles-page>.card>.card-body>.row.mb-1 .btn .toolbar-export-btn__icon{font-size:1.34rem!important}}