.roles-page[data-v-314b5b26]{padding:.25rem 0}.roles-toolbar[data-v-314b5b26]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.75rem;padding:.25rem .25rem 1rem}.roles-toolbar[data-v-314b5b26],.roles-toolbar__title[data-v-314b5b26]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.roles-toolbar__title[data-v-314b5b26]{gap:.65rem}.roles-toolbar__accent[data-v-314b5b26]{width:4px;height:36px;border-radius:4px;background:-webkit-gradient(linear,left top,left bottom,from(#0e5b46),to(#16a07a));background:linear-gradient(180deg,#0e5b46,#16a07a);-ms-flex-negative:0;flex-shrink:0}.roles-toolbar__title h1[data-v-314b5b26]{margin:0;font-size:1.15rem;font-weight:700;color:#1f2a44;letter-spacing:-.01em;line-height:1.2}.roles-toolbar__title p[data-v-314b5b26]{margin:0;font-size:.78rem;color:#6b7280}.roles-toolbar__actions[data-v-314b5b26]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.65rem}.roles-updated[data-v-314b5b26]{font-size:.75rem;color:#6b7280;font-weight:500}.roles-toolbar__actions[data-v-314b5b26] .btn.create-role-btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.45rem;height:34px;padding:0 1rem;border-radius:8px;font-weight:600;font-size:.82rem;background:var(--brand-gradient,linear-gradient(135deg,#0e5b46,#16a07a));border:0;color:#fff;-webkit-box-shadow:0 2px 6px rgba(14,91,70,.18);box-shadow:0 2px 6px rgba(14,91,70,.18);-webkit-transition:-webkit-transform .15s ease,-webkit-box-shadow .15s ease,-webkit-filter .15s ease;transition:-webkit-transform .15s ease,-webkit-box-shadow .15s ease,-webkit-filter .15s ease;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease,-webkit-transform .15s ease,-webkit-box-shadow .15s ease,-webkit-filter .15s ease}.roles-toolbar__actions[data-v-314b5b26] .btn.create-role-btn:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 6px 14px rgba(14,91,70,.28);box-shadow:0 6px 14px rgba(14,91,70,.28);-webkit-filter:brightness(1.05);filter:brightness(1.05);color:#fff}.roles-toolbar__actions[data-v-314b5b26] .btn.create-role-btn:active{-webkit-transform:translateY(0);transform:translateY(0);-webkit-filter:brightness(.96);filter:brightness(.96)}.create-role-btn__icon[data-v-314b5b26]{-ms-flex-negative:0;flex-shrink:0;display:block}.roles-toolbar__actions[data-v-314b5b26] .btn.refresh-btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.45rem;height:34px;padding:0 .85rem;border-radius:8px;font-weight:600;font-size:.82rem;background:#fff;border:1px solid #e5e9f2;color:#1f2a44;-webkit-box-shadow:0 1px 2px rgba(15,23,42,.04);box-shadow:0 1px 2px rgba(15,23,42,.04);-webkit-transition:border-color .15s ease,background .15s ease,color .15s ease,-webkit-box-shadow .15s ease;transition:border-color .15s ease,background .15s ease,color .15s ease,-webkit-box-shadow .15s ease;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease,-webkit-box-shadow .15s ease}.roles-toolbar__actions[data-v-314b5b26] .btn.refresh-btn:hover:not(:disabled){border-color:#16a07a;color:#0e5b46;background:#f5fbf8;-webkit-box-shadow:0 2px 6px rgba(14,91,70,.12);box-shadow:0 2px 6px rgba(14,91,70,.12)}.roles-toolbar__actions[data-v-314b5b26] .btn.refresh-btn:disabled{opacity:1;background:#f8fafc;color:#4b5563;cursor:progress}.refresh-btn__icon[data-v-314b5b26]{-ms-flex-negative:0;flex-shrink:0;display:block;color:#16a07a;-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease}.roles-toolbar__actions[data-v-314b5b26] .btn.refresh-btn:hover:not(:disabled) .refresh-btn__icon{-webkit-transform:rotate(60deg);transform:rotate(60deg)}.roles-toolbar__actions[data-v-314b5b26] .btn.refresh-btn.is-loading .refresh-btn__icon{-webkit-animation:refresh-spin-data-v-314b5b26 .9s linear infinite;animation:refresh-spin-data-v-314b5b26 .9s linear infinite;color:#16a07a}@-webkit-keyframes refresh-spin-data-v-314b5b26{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes refresh-spin-data-v-314b5b26{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.roles-alert[data-v-314b5b26]{margin:0 0 .75rem;border-radius:10px}.summary-tiles[data-v-314b5b26]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.summary-tile[data-v-314b5b26]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;padding:.85rem 1rem;border-radius:12px;background:#fff;border:1px solid #e5e9f2;-webkit-box-shadow:0 2px 6px rgba(15,23,42,.04);box-shadow:0 2px 6px rgba(15,23,42,.04);border-left-width:4px}.summary-tile--total[data-v-314b5b26]{border-left-color:#1f2a44}.summary-tile--inuse[data-v-314b5b26]{border-left-color:#16a07a}.summary-tile--assigned[data-v-314b5b26]{border-left-color:#6d28d9}.summary-tile__label[data-v-314b5b26]{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#4b5563}.summary-tile__value[data-v-314b5b26]{font-size:1.25rem;font-weight:700;color:#1f2a44}.roles-table[data-v-314b5b26]{margin-bottom:1rem}.roles-search-wrap[data-v-314b5b26]{position:relative;width:280px;max-width:100%}.roles-search-icon[data-v-314b5b26]{position:absolute;top:50%;left:.75rem;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:#6b7280;pointer-events:none}.roles-input[data-v-314b5b26]{width:100%;height:34px;padding:.3rem 2.25rem .3rem 2.1rem;border:1px solid #d8dde6;border-radius:999px;background:#fff;font-size:.82rem;color:#2f3640;font-family:inherit;-webkit-transition:border-color .15s ease,-webkit-box-shadow .15s ease;transition:border-color .15s ease,-webkit-box-shadow .15s ease;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color .15s ease,box-shadow .15s ease,-webkit-box-shadow .15s ease}.roles-input[data-v-314b5b26]:focus{outline:none;border-color:#16a07a;-webkit-box-shadow:0 0 0 3px rgba(22,160,122,.18);box-shadow:0 0 0 3px rgba(22,160,122,.18)}.roles-search-clear[data-v-314b5b26]{position:absolute;top:50%;right:.5rem;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:22px;height:22px;border:0;border-radius:50%;background:#e5e9f2;color:#4b5563;font-size:1rem;line-height:1;cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:background .15s ease,color .15s ease;transition:background .15s ease,color .15s ease}.roles-search-clear[data-v-314b5b26]:hover{background:#d1d5db;color:#1f2a44}.roles-empty[data-v-314b5b26]{text-align:center;padding:1.5rem 1rem}.roles-empty__title[data-v-314b5b26]{font-size:.95rem;font-weight:700;color:#1f2a44;margin-bottom:.25rem}.roles-empty__hint[data-v-314b5b26]{font-size:.82rem;color:#6b7280}.roles-empty__link[data-v-314b5b26]{border:0;background:transparent;padding:0;color:#0e5b46;font-weight:600;cursor:pointer}.roles-empty__link[data-v-314b5b26]:hover{text-decoration:underline}.role-pill[data-v-314b5b26]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.18rem .6rem;border-radius:6px;font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:capitalize;white-space:nowrap}.role-pill--gray[data-v-314b5b26]{background:#f1f5f9;color:#475569}.role-pill--violet[data-v-314b5b26]{background:#ede9fe;color:#5b21b6}.role-pill--blue[data-v-314b5b26]{background:#dbeafe;color:#1e40af}.role-pill--amber[data-v-314b5b26]{background:#fef3c7;color:#92400e}.role-pill--teal[data-v-314b5b26]{background:#ccfbf1;color:#115e59}.role-pill--green[data-v-314b5b26]{background:#dff5ea;color:#0e5b46}.role-guard[data-v-314b5b26]{font-size:.72rem;font-weight:600;color:#6b7280;background:#f1f5f9;padding:.18rem .55rem;border-radius:6px;display:inline-block}.role-user-count[data-v-314b5b26]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:.35rem;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.role-user-count__value[data-v-314b5b26]{font-size:1rem;font-weight:700;color:#1f2a44;letter-spacing:-.01em}.role-user-count__label[data-v-314b5b26]{font-size:.72rem;color:#6b7280;font-weight:500}@media (max-width:991px){.summary-tiles[data-v-314b5b26]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.roles-toolbar[data-v-314b5b26]{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.roles-toolbar__actions[data-v-314b5b26],.roles-toolbar__title[data-v-314b5b26]{-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%}.roles-toolbar__actions[data-v-314b5b26]{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.summary-tiles[data-v-314b5b26]{grid-template-columns:1fr 1fr}.roles-search-wrap[data-v-314b5b26]{width:100%}}@media (max-width:575px){.roles-page[data-v-314b5b26]{padding:0 0 .5rem}.roles-toolbar[data-v-314b5b26]{padding:.25rem 0 .75rem;gap:.5rem}.roles-toolbar__accent[data-v-314b5b26]{height:30px}.roles-toolbar__title h1[data-v-314b5b26]{font-size:1rem}.roles-toolbar__title p[data-v-314b5b26]{font-size:.72rem}.roles-toolbar__actions[data-v-314b5b26]{gap:.45rem}.roles-toolbar__actions[data-v-314b5b26] .btn.create-role-btn,.roles-toolbar__actions[data-v-314b5b26] .btn.refresh-btn{height:32px;font-size:.76rem;padding:0 .7rem}.summary-tiles[data-v-314b5b26]{grid-template-columns:1fr}.summary-tile[data-v-314b5b26]{padding:.65rem .8rem}.summary-tile__value[data-v-314b5b26]{font-size:1.1rem}}