.dialog-overlay[data-v-44b37d81]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-44b37d81 .2s}@keyframes fadeIn-44b37d81{0%{opacity:0}to{opacity:1}}.dialog-content[data-v-44b37d81]{background:var(--bg-primary);border-radius:12px;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp-44b37d81 .3s}@keyframes slideUp-44b37d81{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-header[data-v-44b37d81]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.dialog-title[data-v-44b37d81]{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.dialog-close[data-v-44b37d81]{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.dialog-close[data-v-44b37d81]:hover{background:var(--bg-secondary);color:var(--text-primary)}.dialog-close[data-v-44b37d81]:focus{outline:2px solid var(--color-primary-solid);outline-offset:2px}.dialog-body[data-v-44b37d81]{padding:24px}.dialog-body p[data-v-44b37d81]{margin:0;color:var(--text-secondary);line-height:1.6}.dialog-footer[data-v-44b37d81]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}.dialog-button[data-v-44b37d81]{padding:10px 20px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.dialog-button[data-v-44b37d81]:focus{outline:2px solid currentColor;outline-offset:2px}.dialog-button-secondary[data-v-44b37d81]{background:var(--bg-secondary);color:var(--text-primary)}.dialog-button-secondary[data-v-44b37d81]:hover{background:var(--bg-tertiary)}.dialog-button-danger[data-v-44b37d81]{background:#dc2626;color:#fff}.dialog-button-danger[data-v-44b37d81]:hover{background:#b91c1c}.dialog-button-warning[data-v-44b37d81]{background:#f59e0b;color:#fff}.dialog-button-warning[data-v-44b37d81]:hover{background:#d97706}.dialog-button-primary[data-v-44b37d81]{background:var(--color-primary-solid);color:#fff}.dialog-button-primary[data-v-44b37d81]:hover{background:var(--color-primary-hover)}.page[data-v-5d79a688]{display:flex;flex-direction:column;gap:16px}.page-header[data-v-5d79a688]{display:flex;justify-content:space-between;align-items:center}.page-header h1[data-v-5d79a688]{font-size:22px;font-weight:800;color:var(--text-primary);margin:0}.btn-primary[data-v-5d79a688]{padding:10px 18px;background:var(--color-primary-solid);color:#fff;border:none;border-radius:8px;font-weight:600;text-decoration:none;font-size:14px}.filters[data-v-5d79a688]{display:flex;gap:10px;flex-wrap:wrap}.search[data-v-5d79a688]{flex:1;min-width:200px;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px}select[data-v-5d79a688]{padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px}.role-badge[data-v-5d79a688]{padding:3px 10px;border-radius:6px;background:var(--color-primary-solid);color:#fff;font-size:12px;font-weight:600}.status-dot[data-v-5d79a688]{font-size:13px;font-weight:600}.status-dot.active[data-v-5d79a688]{color:#22c55e}.status-dot.inactive[data-v-5d79a688]{color:#ef4444}.action-btn[data-v-5d79a688]{padding:5px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:12px;cursor:pointer}.page[data-v-e2d9ee1b]{display:flex;flex-direction:column;gap:16px;max-width:800px}.back-link[data-v-e2d9ee1b]{font-size:13px;color:var(--color-primary-solid);text-decoration:none;font-weight:600}.detail[data-v-e2d9ee1b]{display:flex;flex-direction:column;gap:20px}.detail-header[data-v-e2d9ee1b]{display:flex;align-items:center;gap:14px}.avatar[data-v-e2d9ee1b]{width:48px;height:48px;border-radius:50%;background:var(--color-primary-solid);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}.detail-header h1[data-v-e2d9ee1b]{font-size:22px;font-weight:800;color:var(--text-primary);margin:0}.subtitle[data-v-e2d9ee1b]{font-size:13px;color:var(--text-muted);margin:2px 0 0}.status-pill[data-v-e2d9ee1b]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;margin-left:auto}.status-pill.active[data-v-e2d9ee1b]{background:#dcfce7;color:#16a34a}.status-pill.inactive[data-v-e2d9ee1b]{background:#fee2e2;color:#dc2626}.info-grid[data-v-e2d9ee1b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;background:var(--bg-secondary);padding:16px;border-radius:10px}.info-item[data-v-e2d9ee1b]{display:flex;flex-direction:column;gap:2px;font-size:14px}.info-item .label[data-v-e2d9ee1b]{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.tabs[data-v-e2d9ee1b]{display:flex;gap:4px;border-bottom:1px solid var(--border-color)}.tabs button[data-v-e2d9ee1b]{padding:10px 16px;border:none;background:none;color:var(--text-secondary);font-weight:600;cursor:pointer;border-bottom:2px solid transparent;font-size:14px}.tabs button.active[data-v-e2d9ee1b]{color:var(--color-primary-solid);border-bottom-color:var(--color-primary-solid)}.perm-section h3[data-v-e2d9ee1b],.geo-section h3[data-v-e2d9ee1b],.resource-section h3[data-v-e2d9ee1b]{font-size:15px;font-weight:700;color:var(--text-primary);margin:0 0 10px}.perm-grid[data-v-e2d9ee1b]{display:flex;flex-wrap:wrap;gap:6px}.perm-chip[data-v-e2d9ee1b]{padding:4px 10px;background:var(--bg-tertiary, #e5e7eb);border-radius:6px;font-size:12px;font-weight:600;color:var(--text-secondary);font-family:monospace}.node-list[data-v-e2d9ee1b]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.node-chip[data-v-e2d9ee1b]{padding:4px 10px;background:#dbeafe;color:#1d4ed8;border-radius:6px;font-size:12px;font-weight:600}.note[data-v-e2d9ee1b]{font-size:12px;color:var(--text-muted);font-style:italic;margin-top:6px}.no-data[data-v-e2d9ee1b]{color:var(--text-muted);font-style:italic}.role-reassign[data-v-e2d9ee1b]{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.role-reassign h3[data-v-e2d9ee1b]{font-size:15px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.role-reassign__desc[data-v-e2d9ee1b]{font-size:13px;color:var(--text-muted);margin:0 0 10px}.role-reassign__row[data-v-e2d9ee1b]{display:flex;gap:10px;align-items:center}.role-select[data-v-e2d9ee1b]{flex:1;max-width:320px}.resource-row[data-v-e2d9ee1b]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-color);font-size:14px}.resource-row .label[data-v-e2d9ee1b]{font-weight:600;color:var(--text-secondary)}.form-actions[data-v-e2d9ee1b]{display:flex;gap:12px;padding-top:8px}.btn-primary[data-v-e2d9ee1b]{padding:10px 20px;background:var(--color-primary-solid, #2563eb);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn-primary[data-v-e2d9ee1b]:hover{opacity:.9}.btn-secondary[data-v-e2d9ee1b]{padding:10px 20px;background:var(--bg-tertiary, #e5e7eb);color:var(--text-primary);border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn-danger[data-v-e2d9ee1b]{padding:10px 20px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn-danger[data-v-e2d9ee1b]:hover{opacity:.9}.btn-warning[data-v-e2d9ee1b]{padding:10px 20px;background:#f59e0b;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn-warning[data-v-e2d9ee1b]:hover{opacity:.9}.btn-warning[data-v-e2d9ee1b]:disabled{opacity:.6;cursor:not-allowed}.btn-success[data-v-e2d9ee1b]{padding:10px 20px;background:#10b981;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn-success[data-v-e2d9ee1b]:hover{opacity:.9}.btn-success[data-v-e2d9ee1b]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-e2d9ee1b]:disabled{opacity:.6;cursor:not-allowed}.loading-state[data-v-e2d9ee1b]{color:var(--text-muted);padding:24px;text-align:center}.edit-form[data-v-e2d9ee1b]{background:var(--bg-secondary, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:10px;padding:20px}.edit-form__title[data-v-e2d9ee1b]{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 16px}.form-grid[data-v-e2d9ee1b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.form-group[data-v-e2d9ee1b]{display:flex;flex-direction:column;gap:4px}.form-label[data-v-e2d9ee1b]{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.form-input[data-v-e2d9ee1b]{padding:9px 12px;border:1px solid var(--border-color, #d1d5db);border-radius:8px;font-size:14px;background:var(--surface, #fff);color:var(--text-primary);outline:none}.form-input[data-v-e2d9ee1b]:focus{border-color:var(--color-primary-solid, #2563eb);box-shadow:0 0 0 2px #2563eb26}.edit-form__actions[data-v-e2d9ee1b]{display:flex;gap:10px;margin-top:18px}.modal-overlay[data-v-e2d9ee1b]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card[data-v-e2d9ee1b]{background:var(--surface, #fff);border-radius:12px;padding:24px;width:100%;max-width:420px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 60px #0003}.modal-card__title[data-v-e2d9ee1b]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.modal-card__actions[data-v-e2d9ee1b]{display:flex;gap:10px;margin-top:6px}.modal-card__desc[data-v-e2d9ee1b]{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0}.error-msg[data-v-e2d9ee1b]{font-size:13px;color:#ef4444;margin:0}.page[data-v-e71bf890]{display:flex;flex-direction:column;gap:20px;max-width:800px}.back-link[data-v-e71bf890]{font-size:13px;color:var(--color-primary-solid);text-decoration:none;font-weight:600}h1[data-v-e71bf890]{font-size:22px;font-weight:800;color:var(--text-primary);margin:0}.invite-form[data-v-e71bf890]{display:flex;flex-direction:column;gap:20px}.form-grid[data-v-e71bf890]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.field[data-v-e71bf890]{display:flex;flex-direction:column;gap:4px}.field label[data-v-e71bf890]{font-size:13px;font-weight:600;color:var(--text-secondary)}.field input[data-v-e71bf890],.field select[data-v-e71bf890]{padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px}.field input.invalid[data-v-e71bf890]{border-color:#dc2626}.fieldset[data-v-e71bf890]{border:1px solid var(--border-color);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:14px}.fieldset legend[data-v-e71bf890]{font-weight:700;font-size:14px;color:var(--text-primary);padding:0 8px}.method-tabs[data-v-e71bf890]{display:flex;gap:8px}.method-tab[data-v-e71bf890]{flex:1;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;text-align:center}.method-tab[data-v-e71bf890]:hover{border-color:var(--color-primary-solid);color:var(--text-primary)}.method-tab.active[data-v-e71bf890]{border-color:var(--color-primary-solid);background:color-mix(in srgb,var(--color-primary-solid) 8%,transparent);color:var(--color-primary-solid)}.method-hint[data-v-e71bf890]{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.method-warning[data-v-e71bf890]{font-size:13px;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:10px 14px}.credentials-grid[data-v-e71bf890]{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:600px){.credentials-grid[data-v-e71bf890]{grid-template-columns:1fr}.method-tabs[data-v-e71bf890]{flex-direction:column}}.password-row[data-v-e71bf890]{display:flex;gap:6px;align-items:stretch}.password-input[data-v-e71bf890]{flex:1;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px}.toggle-password-btn[data-v-e71bf890],.generate-btn[data-v-e71bf890]{padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0;white-space:nowrap}.generate-btn[data-v-e71bf890]{color:var(--color-primary-solid);border-color:var(--color-primary-solid)}.generate-btn[data-v-e71bf890]:hover{background:color-mix(in srgb,var(--color-primary-solid) 8%,transparent)}.generated-hint[data-v-e71bf890]{font-size:12px;color:var(--text-secondary);margin:4px 0 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.copy-btn[data-v-e71bf890]{background:none;border:none;color:var(--color-primary-solid);font-size:12px;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.field-hint[data-v-e71bf890]{font-size:11px;color:var(--text-tertiary);margin:2px 0 0}.field-error[data-v-e71bf890]{font-size:12px;color:#dc2626;margin:2px 0 0}.btn-small[data-v-e71bf890]{align-self:flex-start;padding:6px 12px;border:1px solid var(--color-primary-solid);border-radius:6px;background:transparent;color:var(--color-primary-solid);font-size:12px;font-weight:600;cursor:pointer;margin-top:4px}.node-list[data-v-e71bf890]{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.node-chip[data-v-e71bf890]{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#dbeafe;color:#1d4ed8;border-radius:6px;font-size:12px;font-weight:600}.node-chip button[data-v-e71bf890]{border:none;background:none;color:#1d4ed8;font-size:14px;cursor:pointer;padding:0;line-height:1}.form-actions[data-v-e71bf890]{display:flex;gap:12px;justify-content:flex-end}.btn-cancel[data-v-e71bf890]{padding:10px 20px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);text-decoration:none;font-size:14px;font-weight:600}.btn-primary[data-v-e71bf890]{padding:10px 20px;background:var(--color-primary-solid);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.btn-primary[data-v-e71bf890]:disabled{opacity:.6;cursor:not-allowed}.card-skeleton[data-v-c87e475e]{border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-primary)}.skeleton-image[data-v-c87e475e]{width:100%}.skeleton-content[data-v-c87e475e]{padding:16px;display:flex;flex-direction:column;gap:8px}.skeleton-actions[data-v-c87e475e]{margin-top:12px;display:flex;gap:8px}.toast-container[data-v-3c184158]{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;max-width:400px}.toast[data-v-3c184158]{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;cursor:pointer;transition:transform .2s,opacity .2s}.toast[data-v-3c184158]:hover{transform:translateY(-2px)}.toast.success[data-v-3c184158]{border-left:4px solid #16a34a}.toast.error[data-v-3c184158]{border-left:4px solid #dc2626}.toast.warning[data-v-3c184158]{border-left:4px solid #f59e0b}.toast.info[data-v-3c184158]{border-left:4px solid #3b82f6}.toast-icon[data-v-3c184158]{font-size:20px;font-weight:700;flex-shrink:0}.toast.success .toast-icon[data-v-3c184158]{color:#16a34a}.toast.error .toast-icon[data-v-3c184158]{color:#dc2626}.toast.warning .toast-icon[data-v-3c184158]{color:#f59e0b}.toast.info .toast-icon[data-v-3c184158]{color:#3b82f6}.toast-content[data-v-3c184158]{flex:1;min-width:0}.toast-title[data-v-3c184158]{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.toast-message[data-v-3c184158]{font-size:13px;color:var(--text-secondary);margin:0}.toast-close[data-v-3c184158]{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-close[data-v-3c184158]:hover{color:var(--text-primary)}.toast-enter-active[data-v-3c184158]{transition:all .3s ease}.toast-leave-active[data-v-3c184158]{transition:all .2s ease}.toast-enter-from[data-v-3c184158]{opacity:0;transform:translate(100%)}.toast-leave-to[data-v-3c184158]{opacity:0;transform:translate(50%)}.permissions-page[data-v-cd5838e2]{max-width:1400px;margin:0 auto}.super-admin-banner[data-v-cd5838e2]{display:flex;align-items:center;gap:10px;padding:12px 18px;margin-bottom:16px;background:linear-gradient(135deg,#7c3aed14,#8b5cf61f);border:1px solid rgba(124,58,237,.2);border-radius:10px;color:#7c3aed;font-size:13px;line-height:1.4}.super-admin-banner strong[data-v-cd5838e2]{font-weight:700}.super-admin-banner svg[data-v-cd5838e2]{flex-shrink:0}.back-link[data-v-cd5838e2]{display:inline-flex;align-items:center;gap:4px;margin-bottom:8px;color:var(--text-muted);text-decoration:none;font-size:13px;font-weight:500;transition:color .15s}.back-link[data-v-cd5838e2]:hover{color:var(--color-primary-solid)}.header-row[data-v-cd5838e2]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.page-title[data-v-cd5838e2]{font-size:28px;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.5px}.page-subtitle[data-v-cd5838e2]{margin:4px 0 0;font-size:14px;color:var(--text-muted);font-weight:400}.loading-grid[data-v-cd5838e2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;padding:8px 0}.tabs-bar[data-v-cd5838e2]{display:flex;gap:2px;background:var(--bg-secondary, #f3f4f6);border-radius:12px;padding:4px;margin-bottom:20px;overflow-x:auto}.tab-btn[data-v-cd5838e2]{display:flex;align-items:center;gap:8px;padding:10px 18px;border:none;background:none;color:var(--text-secondary);font-weight:600;font-size:13px;cursor:pointer;border-radius:8px;transition:all .2s;white-space:nowrap}.tab-btn[data-v-cd5838e2]:hover{background:#fff9;color:var(--text-primary)}.tab-btn.active[data-v-cd5838e2]{background:var(--surface, #fff);color:var(--color-primary-solid);box-shadow:0 1px 3px #00000014}.tab-icon[data-v-cd5838e2]{display:flex;align-items:center}.tab-badge[data-v-cd5838e2]{font-size:11px;background:var(--color-primary-solid, #2563eb);color:#fff;padding:1px 7px;border-radius:10px;font-weight:700;min-width:18px;text-align:center}.tab-fade-enter-active[data-v-cd5838e2],.tab-fade-leave-active[data-v-cd5838e2]{transition:opacity .2s ease,transform .2s ease}.tab-fade-enter-from[data-v-cd5838e2]{opacity:0;transform:translateY(8px)}.tab-fade-leave-to[data-v-cd5838e2]{opacity:0;transform:translateY(-8px)}.empty-wrap[data-v-cd5838e2]{background:var(--surface, #fff);border:1px solid var(--border-color);border-radius:12px}.role-cards-grid[data-v-cd5838e2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.role-card[data-v-cd5838e2]{background:var(--surface, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s;position:relative}.role-card[data-v-cd5838e2]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.role-card__color-bar[data-v-cd5838e2]{height:4px;width:100%}.role-card--purple .role-card__color-bar[data-v-cd5838e2]{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.role-card--indigo .role-card__color-bar[data-v-cd5838e2]{background:linear-gradient(90deg,#4f46e5,#818cf8)}.role-card--blue .role-card__color-bar[data-v-cd5838e2]{background:linear-gradient(90deg,#2563eb,#60a5fa)}.role-card--sky .role-card__color-bar[data-v-cd5838e2]{background:linear-gradient(90deg,#0284c7,#38bdf8)}.role-card--green .role-card__color-bar[data-v-cd5838e2]{background:linear-gradient(90deg,#16a34a,#4ade80)}.role-card--gray .role-card__color-bar[data-v-cd5838e2]{background:linear-gradient(90deg,#6b7280,#9ca3af)}.role-card--slate .role-card__color-bar[data-v-cd5838e2]{background:linear-gradient(90deg,#475569,#94a3b8)}.role-card__header[data-v-cd5838e2]{padding:0}.role-card__title-row[data-v-cd5838e2]{display:flex;align-items:center;gap:8px;padding:16px 16px 0}.role-card__name[data-v-cd5838e2]{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;flex:1}.role-card__code[data-v-cd5838e2]{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;color:var(--text-muted);padding:0 16px;margin:2px 0 0}.badge[data-v-cd5838e2]{font-size:10px;padding:2px 8px;border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge--system[data-v-cd5838e2]{background:#6366f11a;color:#6366f1}.badge--custom[data-v-cd5838e2]{background:#10b9811a;color:#059669}.role-card__body[data-v-cd5838e2]{padding:12px 16px}.role-card__desc[data-v-cd5838e2]{font-size:13px;color:var(--text-secondary);margin:0 0 12px;line-height:1.5}.role-card__stats[data-v-cd5838e2]{display:flex;gap:12px;flex-wrap:wrap}.stat-chip[data-v-cd5838e2]{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted);background:var(--bg-secondary, #f3f4f6);padding:4px 10px;border-radius:6px}.stat-chip--editable[data-v-cd5838e2]{cursor:pointer;transition:background .15s,border-color .15s;border:1px solid transparent}.stat-chip--editable[data-v-cd5838e2]:hover{background:#7c3aed0f;border-color:#7c3aed33}.inline-level-input[data-v-cd5838e2]{width:48px;padding:1px 4px;border:1px solid var(--color-primary-solid, #2563eb);border-radius:4px;font-size:12px;font-weight:700;color:var(--text-primary);background:var(--surface, #fff);text-align:center;outline:none}.inline-level-input[data-v-cd5838e2]:focus{box-shadow:0 0 0 2px #2563eb26}.edit-hint-icon[data-v-cd5838e2]{opacity:.4;margin-left:2px}.role-card__actions[data-v-cd5838e2]{display:flex;gap:4px;padding:0 12px 12px}.btn-primary[data-v-cd5838e2]{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:var(--color-primary-solid, #2563eb);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:all .15s}.btn-primary[data-v-cd5838e2]:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 4px 12px #2563eb40}.btn-primary[data-v-cd5838e2]:disabled{opacity:.5;cursor:not-allowed}.btn-glow[data-v-cd5838e2]{box-shadow:0 2px 8px #2563eb33}.btn-secondary[data-v-cd5838e2]{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:var(--bg-tertiary, #e5e7eb);color:var(--text-primary);border:none;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:all .15s}.btn-secondary[data-v-cd5838e2]:hover{background:var(--border-color, #d1d5db)}.btn-ghost[data-v-cd5838e2]{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;background:none;border:1px solid var(--border-color, #e5e7eb);border-radius:7px;color:var(--text-secondary);font-weight:500;font-size:12px;cursor:pointer;transition:all .15s}.btn-ghost[data-v-cd5838e2]:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-muted)}.btn-ghost--danger[data-v-cd5838e2]:hover{background:#fef2f2;color:#dc2626;border-color:#fca5a5}.matrix-toolbar[data-v-cd5838e2]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.matrix-toolbar__left[data-v-cd5838e2],.matrix-toolbar__right[data-v-cd5838e2]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-input[data-v-cd5838e2]{padding:9px 14px;border:1px solid var(--border-color, #d1d5db);border-radius:8px;font-size:13px;background:var(--surface, #fff);color:var(--text-primary);outline:none;min-width:240px;transition:border-color .15s,box-shadow .15s}.search-input[data-v-cd5838e2]:focus{border-color:var(--color-primary-solid);box-shadow:0 0 0 3px #2563eb1a}.change-badge[data-v-cd5838e2]{font-size:11px;background:#ef444426;color:#dc2626;padding:1px 7px;border-radius:10px;font-weight:700}.change-badge--light[data-v-cd5838e2]{background:#ffffff40;color:#fff}.matrix-container[data-v-cd5838e2]{background:var(--surface, #fff);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.matrix-scroll[data-v-cd5838e2]{overflow-x:auto;-webkit-overflow-scrolling:touch}.matrix-table[data-v-cd5838e2],.feature-table[data-v-cd5838e2]{width:100%;border-collapse:collapse;min-width:700px}.matrix-table th[data-v-cd5838e2],.matrix-table td[data-v-cd5838e2],.feature-table th[data-v-cd5838e2],.feature-table td[data-v-cd5838e2]{padding:0;text-align:left;border-bottom:1px solid var(--border-color, #e5e7eb)}.sticky-col[data-v-cd5838e2]{position:sticky;left:0;z-index:2;background:var(--surface, #fff);min-width:240px;max-width:320px}.sticky-header[data-v-cd5838e2]{z-index:4;position:sticky;top:0}thead .sticky-col[data-v-cd5838e2]{background:var(--bg-secondary, #f9fafb);z-index:5}thead th[data-v-cd5838e2]{position:sticky;top:0;z-index:3;background:var(--bg-secondary, #f9fafb)}.role-col[data-v-cd5838e2]{min-width:130px;text-align:center;padding:10px 8px!important;vertical-align:bottom}.role-col-header[data-v-cd5838e2]{display:flex;flex-direction:column;align-items:center;gap:2px}.role-col-name[data-v-cd5838e2]{font-size:12px;font-weight:700;color:var(--text-primary);white-space:nowrap}.mini-badge[data-v-cd5838e2]{font-size:9px;padding:1px 5px;border-radius:3px;background:var(--bg-tertiary);color:var(--text-muted);font-weight:700;letter-spacing:.5px}.role-col-actions[data-v-cd5838e2]{display:flex;gap:4px;margin-top:4px}.matrix-select-all[data-v-cd5838e2]{font-size:10px;padding:2px 6px;border:1px solid var(--border-color);border-radius:4px;background:none;color:var(--text-muted);cursor:pointer;font-weight:600;transition:all .1s}.matrix-select-all[data-v-cd5838e2]:hover:not(:disabled){background:var(--color-primary-solid);color:#fff;border-color:var(--color-primary-solid)}.matrix-select-all[data-v-cd5838e2]:disabled{opacity:.3;cursor:not-allowed}.role-col--purple[data-v-cd5838e2]{border-top:3px solid #7c3aed}.role-col--indigo[data-v-cd5838e2]{border-top:3px solid #4f46e5}.role-col--blue[data-v-cd5838e2]{border-top:3px solid #2563eb}.role-col--sky[data-v-cd5838e2]{border-top:3px solid #0284c7}.role-col--green[data-v-cd5838e2]{border-top:3px solid #16a34a}.role-col--gray[data-v-cd5838e2]{border-top:3px solid #6b7280}.role-col--slate[data-v-cd5838e2]{border-top:3px solid #475569}.group-header-row[data-v-cd5838e2]{cursor:pointer}.group-header-row:hover .group-header-cell[data-v-cd5838e2]{background:var(--bg-secondary, #f9fafb)}.group-header-cell[data-v-cd5838e2]{padding:8px 14px!important;background:var(--bg-secondary, #f3f4f6);transition:background .1s}.group-header[data-v-cd5838e2]{display:flex;align-items:center;gap:8px}.group-chevron[data-v-cd5838e2]{font-size:10px;transition:transform .2s;display:inline-block;color:var(--text-muted)}.group-chevron.expanded[data-v-cd5838e2]{transform:rotate(90deg)}.group-icon[data-v-cd5838e2]{display:flex;align-items:center;color:var(--text-secondary)}.group-name[data-v-cd5838e2]{font-weight:700;font-size:13px;color:var(--text-primary)}.group-count[data-v-cd5838e2]{font-size:11px;color:var(--text-muted);margin-left:auto}.group-summary-cell[data-v-cd5838e2]{text-align:center;padding:8px!important;background:var(--bg-secondary, #f3f4f6)}.group-summary-badge[data-v-cd5838e2]{font-size:11px;font-weight:600;color:var(--text-muted);background:var(--surface, #fff);padding:2px 8px;border-radius:6px}.perm-row--alt .sticky-col[data-v-cd5838e2],.perm-row--alt[data-v-cd5838e2]{background:#00000004}.perm-row--alt .sticky-col[data-v-cd5838e2]{background:color-mix(in srgb,var(--surface, #fff) 97%,#000)}.perm-label-cell[data-v-cd5838e2]{padding:8px 14px!important}.perm-label[data-v-cd5838e2]{display:flex;align-items:center;gap:8px}.perm-name-text[data-v-cd5838e2]{font-size:13px;color:var(--text-primary);font-weight:500}.action-badge[data-v-cd5838e2]{font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 7px;border-radius:4px;letter-spacing:.3px;white-space:nowrap}.action-badge--view[data-v-cd5838e2]{background:#3b82f61a;color:#2563eb}.action-badge--create[data-v-cd5838e2]{background:#10b9811a;color:#059669}.action-badge--edit[data-v-cd5838e2]{background:#f59e0b1a;color:#d97706}.action-badge--delete[data-v-cd5838e2]{background:#ef44441a;color:#dc2626}.action-badge--manage[data-v-cd5838e2]{background:#8b5cf61a;color:#7c3aed}.action-badge--control[data-v-cd5838e2]{background:#2563eb1a;color:#2563eb}.action-badge--configure[data-v-cd5838e2]{background:#6366f11a;color:#4f46e5}.action-badge--generate[data-v-cd5838e2]{background:#10b9811a;color:#059669}.action-badge--export[data-v-cd5838e2]{background:#3b82f61a;color:#2563eb}.action-badge--assign_role[data-v-cd5838e2]{background:#8b5cf61a;color:#7c3aed}.action-badge--settings[data-v-cd5838e2]{background:#6b72801a;color:#4b5563}.check-cell[data-v-cd5838e2]{text-align:center;padding:6px!important}.check-cell--changed[data-v-cd5838e2]{background:#f59e0b0f}.check-wrap[data-v-cd5838e2]{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative}.check-wrap input[type=checkbox][data-v-cd5838e2]{position:absolute;opacity:0;width:0;height:0}.check-visual[data-v-cd5838e2]{width:18px;height:18px;border:2px solid var(--border-color, #d1d5db);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s;background:var(--surface, #fff)}.check-wrap input:checked+.check-visual[data-v-cd5838e2]{background:var(--color-primary-solid, #2563eb);border-color:var(--color-primary-solid, #2563eb)}.check-wrap input:checked+.check-visual[data-v-cd5838e2]:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.check-wrap input:disabled+.check-visual[data-v-cd5838e2]{opacity:.4;cursor:not-allowed}.check-wrap:hover .check-visual[data-v-cd5838e2]:not(:has(input:disabled)){border-color:var(--color-primary-solid, #2563eb);box-shadow:0 0 0 3px #2563eb14}.feature-access-header[data-v-cd5838e2]{margin-bottom:16px}.section-title[data-v-cd5838e2]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.section-desc[data-v-cd5838e2]{font-size:13px;color:var(--text-muted);margin:0}.feature-matrix-container[data-v-cd5838e2]{background:var(--surface, #fff);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.feature-label-cell[data-v-cd5838e2]{padding:12px 16px!important}.feature-label[data-v-cd5838e2]{display:flex;align-items:center;gap:12px}.feature-icon[data-v-cd5838e2]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary);flex-shrink:0}.feature-name[data-v-cd5838e2]{display:block;font-size:14px;font-weight:600;color:var(--text-primary)}.feature-desc[data-v-cd5838e2]{display:block;font-size:11px;color:var(--text-muted)}.toggle-cell[data-v-cd5838e2]{text-align:center;padding:10px!important}.toggle-switch[data-v-cd5838e2]{display:inline-flex;align-items:center;cursor:pointer}.toggle-switch input[data-v-cd5838e2]{position:absolute;opacity:0;width:0;height:0}.toggle-slider[data-v-cd5838e2]{width:36px;height:20px;background:var(--bg-tertiary, #d1d5db);border-radius:10px;position:relative;transition:background .2s}.toggle-slider[data-v-cd5838e2]:after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px #00000026}.toggle-switch input:checked+.toggle-slider[data-v-cd5838e2]{background:var(--color-primary-solid, #2563eb)}.toggle-switch input:checked+.toggle-slider[data-v-cd5838e2]:after{transform:translate(16px)}.toggle-switch input:disabled+.toggle-slider[data-v-cd5838e2]{opacity:.4;cursor:not-allowed}.sticky-bottom-bar[data-v-cd5838e2]{position:sticky;bottom:0;background:var(--surface, #fff);border-top:1px solid var(--border-color);padding:12px 16px;margin-top:12px;border-radius:0 0 12px 12px;z-index:10;box-shadow:0 -4px 12px #0000000d}.unsaved-label[data-v-cd5838e2]{font-size:13px;font-weight:600;color:var(--text-secondary)}.sub-tabs[data-v-cd5838e2]{display:flex;gap:2px;margin-bottom:20px;border-bottom:1px solid var(--border-color)}.sub-tab[data-v-cd5838e2]{padding:10px 20px;border:none;background:none;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.sub-tab.active[data-v-cd5838e2]{color:var(--color-primary-solid);border-bottom-color:var(--color-primary-solid)}.sub-tab[data-v-cd5838e2]:hover:not(.active){color:var(--text-primary)}.access-section[data-v-cd5838e2]{animation:fadeIn-cd5838e2 .2s ease}@keyframes fadeIn-cd5838e2{0%{opacity:0}to{opacity:1}}.access-card[data-v-cd5838e2]{background:var(--surface, #fff);border:1px solid var(--border-color);border-radius:14px;overflow:hidden}.access-card__header[data-v-cd5838e2]{padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary, #f9fafb)}.access-card__title[data-v-cd5838e2]{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.access-card__desc[data-v-cd5838e2]{font-size:13px;color:var(--text-muted);margin:0}.access-form-grid[data-v-cd5838e2]{padding:24px;display:flex;flex-direction:column;gap:20px}.access-card__footer[data-v-cd5838e2]{padding:16px 24px;border-top:1px solid var(--border-color);background:var(--bg-secondary, #f9fafb)}.multi-select-box[data-v-cd5838e2]{min-height:42px;border:1px solid var(--border-color, #d1d5db);border-radius:8px;padding:6px 10px;cursor:pointer;display:flex;flex-wrap:wrap;gap:4px;background:var(--surface, #fff);transition:border-color .15s}.multi-select-box[data-v-cd5838e2]:hover{border-color:var(--color-primary-solid)}.selected-tags[data-v-cd5838e2]{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.placeholder-text[data-v-cd5838e2]{color:var(--text-muted);font-size:13px}.tag[data-v-cd5838e2]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-primary-solid, #2563eb);color:#fff;border-radius:4px;font-size:12px;font-weight:500}.tag-remove[data-v-cd5838e2]{background:none;border:none;color:#ffffffb3;font-size:14px;cursor:pointer;padding:0 2px}.tag-remove[data-v-cd5838e2]:hover{color:#fff}.dropdown-panel[data-v-cd5838e2]{border:1px solid var(--border-color);border-radius:8px;background:var(--surface, #fff);box-shadow:0 8px 24px #0000001f;margin-top:4px;max-height:240px;overflow:hidden;display:flex;flex-direction:column}.dropdown-search[data-v-cd5838e2]{padding:10px 12px;border:none;border-bottom:1px solid var(--border-color);font-size:13px;outline:none;background:var(--bg-secondary, #f9fafb)}.dropdown-list[data-v-cd5838e2]{overflow-y:auto;max-height:200px}.dropdown-item[data-v-cd5838e2]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px;transition:background .1s}.dropdown-item[data-v-cd5838e2]:hover{background:var(--bg-secondary, #f3f4f6)}.geo-tree-box[data-v-cd5838e2]{border:1px solid var(--border-color);border-radius:8px;max-height:280px;overflow-y:auto;background:var(--surface, #fff)}.geo-pick-list[data-v-cd5838e2]{list-style:none;margin:0;padding:4px}.geo-pick-item[data-v-cd5838e2]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .1s;font-size:13px}.geo-pick-item[data-v-cd5838e2]:hover{background:var(--bg-secondary, #f3f4f6)}.geo-pick-item.selected[data-v-cd5838e2]{background:#2563eb0f}.geo-node-name[data-v-cd5838e2]{font-weight:500;color:var(--text-primary)}.geo-node-type[data-v-cd5838e2]{font-size:11px;color:var(--text-muted);margin-left:auto}.toggle-inline[data-v-cd5838e2]{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--text-primary)}.toggle-inline input[data-v-cd5838e2]{position:absolute;opacity:0}.toggle-slider-sm[data-v-cd5838e2]{width:36px;height:20px;background:var(--bg-tertiary, #d1d5db);border-radius:10px;position:relative;transition:background .2s;flex-shrink:0}.toggle-slider-sm[data-v-cd5838e2]:after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px #00000026}.toggle-inline input:checked+.toggle-slider-sm[data-v-cd5838e2]{background:var(--color-primary-solid, #2563eb)}.toggle-inline input:checked+.toggle-slider-sm[data-v-cd5838e2]:after{transform:translate(16px)}.resource-type-picker[data-v-cd5838e2]{display:flex;gap:8px}.resource-type-btn[data-v-cd5838e2]{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:2px solid var(--border-color, #e5e7eb);border-radius:8px;background:var(--surface, #fff);color:var(--text-secondary);font-weight:600;font-size:13px;cursor:pointer;transition:all .15s}.resource-type-btn.active[data-v-cd5838e2]{border-color:var(--color-primary-solid);color:var(--color-primary-solid);background:#2563eb0a}.resource-type-btn[data-v-cd5838e2]:hover:not(.active){border-color:var(--text-muted)}.resource-pick-list[data-v-cd5838e2]{border:1px solid var(--border-color);border-radius:8px;max-height:240px;overflow-y:auto;margin-top:8px}.resource-pick-item[data-v-cd5838e2]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--border-color);transition:background .1s}.resource-pick-item[data-v-cd5838e2]:last-child{border-bottom:none}.resource-pick-item[data-v-cd5838e2]:hover{background:var(--bg-secondary, #f3f4f6)}.resource-name[data-v-cd5838e2]{font-weight:500;color:var(--text-primary)}.resource-id[data-v-cd5838e2]{font-size:11px;color:var(--text-muted);margin-left:auto;font-family:ui-monospace,monospace}.modal-overlay[data-v-cd5838e2]{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-cd5838e2 .15s}.modal-card[data-v-cd5838e2]{background:var(--surface, #fff);border-radius:16px;width:100%;max-width:480px;display:flex;flex-direction:column;box-shadow:0 24px 64px #0003;animation:slideUp-cd5838e2 .25s ease;max-height:90vh;overflow:hidden}.modal-card--wide[data-v-cd5838e2]{max-width:640px}@keyframes slideUp-cd5838e2{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-card__header[data-v-cd5838e2]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-card__title[data-v-cd5838e2]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.modal-close[data-v-cd5838e2]{background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s}.modal-close[data-v-cd5838e2]:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-card__body[data-v-cd5838e2]{padding:24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.modal-card__actions[data-v-cd5838e2]{display:flex;gap:10px;padding:16px 24px;border-top:1px solid var(--border-color);background:var(--bg-secondary, #f9fafb)}.diff-body[data-v-cd5838e2]{padding:20px 24px;overflow-y:auto;max-height:400px}.diff-role-section[data-v-cd5838e2]{margin-bottom:16px}.diff-role-name[data-v-cd5838e2]{font-size:14px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.diff-list[data-v-cd5838e2]{display:flex;flex-direction:column;gap:4px}.diff-item[data-v-cd5838e2]{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;font-size:13px}.diff-item.added[data-v-cd5838e2]{background:#10b98114;color:#059669}.diff-item.removed[data-v-cd5838e2]{background:#ef444414;color:#dc2626}.diff-icon[data-v-cd5838e2]{font-weight:700;font-size:16px;width:18px;text-align:center}.form-group[data-v-cd5838e2]{display:flex;flex-direction:column;gap:5px}.form-label[data-v-cd5838e2]{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.form-input[data-v-cd5838e2]{padding:10px 12px;border:1px solid var(--border-color, #d1d5db);border-radius:8px;font-size:14px;background:var(--surface, #fff);color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s}.form-input[data-v-cd5838e2]:focus{border-color:var(--color-primary-solid, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.form-input--mono[data-v-cd5838e2]{font-family:ui-monospace,SFMono-Regular,monospace}.form-textarea[data-v-cd5838e2]{resize:vertical;min-height:60px}.form-range[data-v-cd5838e2]{width:100%;cursor:pointer}.range-labels[data-v-cd5838e2]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted)}.range-value[data-v-cd5838e2]{font-weight:700;color:var(--color-primary-solid)}.form-hint[data-v-cd5838e2]{font-size:11px;color:var(--text-muted)}.error-msg[data-v-cd5838e2]{font-size:13px;color:#ef4444;margin:0;padding:8px 12px;background:#ef44440f;border-radius:6px}.empty-msg[data-v-cd5838e2]{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.feature-access-header__top[data-v-cd5838e2]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.tenant-selector[data-v-cd5838e2]{display:flex;flex-direction:column;gap:4px;min-width:200px}.tenant-selector--wide[data-v-cd5838e2]{min-width:280px}.form-input--compact[data-v-cd5838e2]{padding:8px 10px;font-size:13px}.access-tenant-bar[data-v-cd5838e2]{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;padding:16px 20px;background:var(--surface, #fff);border:1px solid var(--border-color);border-radius:12px}.access-card--mb[data-v-cd5838e2]{margin-bottom:16px}.loading-inline[data-v-cd5838e2]{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:14px}.current-assignments[data-v-cd5838e2]{overflow-x:auto}.assignments-table[data-v-cd5838e2]{width:100%;border-collapse:collapse;font-size:13px}.assignments-table th[data-v-cd5838e2]{text-align:left;padding:10px 14px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-secondary, #f9fafb);border-bottom:1px solid var(--border-color)}.assignments-table td[data-v-cd5838e2]{padding:10px 14px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.assignments-table tr:last-child td[data-v-cd5838e2]{border-bottom:none}.cell-role[data-v-cd5838e2]{font-weight:600}.cell-node[data-v-cd5838e2]{font-weight:500}.level-badge[data-v-cd5838e2]{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:4px;background:#6366f11a;color:#4f46e5;letter-spacing:.3px}.level-badge--sm[data-v-cd5838e2]{font-size:9px;padding:1px 6px}.bool-badge[data-v-cd5838e2]{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px}.bool-badge--yes[data-v-cd5838e2]{background:#10b9811a;color:#059669}.bool-badge--no[data-v-cd5838e2]{background:#ef44441a;color:#dc2626}.btn-ghost--sm[data-v-cd5838e2]{padding:4px 8px;font-size:11px}.geo-assign-layout[data-v-cd5838e2]{display:grid;grid-template-columns:1fr 300px;gap:20px}.geo-tree-box--tall[data-v-cd5838e2]{max-height:420px;overflow-y:auto;margin-top:8px}.geo-tree-list[data-v-cd5838e2]{list-style:none;margin:0;padding:4px}.geo-tree-node[data-v-cd5838e2]{list-style:none}.geo-tree-node__row[data-v-cd5838e2]{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background .1s;font-size:13px}.geo-tree-node__row[data-v-cd5838e2]:hover{background:var(--bg-secondary, #f3f4f6)}.geo-tree-chevron[data-v-cd5838e2]{font-size:9px;width:14px;text-align:center;color:var(--text-muted);transition:transform .2s;flex-shrink:0;display:inline-block}.geo-tree-chevron.expanded[data-v-cd5838e2]{transform:rotate(90deg)}.geo-tree-chevron--leaf[data-v-cd5838e2]{visibility:hidden}.geo-tree-check[data-v-cd5838e2]{display:inline-flex;align-items:center;cursor:pointer;position:relative}.geo-tree-check input[type=checkbox][data-v-cd5838e2]{position:absolute;opacity:0;width:0;height:0}.check-visual--sm[data-v-cd5838e2]{width:16px;height:16px}.geo-tree-name[data-v-cd5838e2]{font-weight:500;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pump-count-badge[data-v-cd5838e2]{font-size:10px;font-weight:600;padding:1px 7px;border-radius:10px;background:#10b9811a;color:#059669;white-space:nowrap}.geo-tree-check input:indeterminate+.check-visual[data-v-cd5838e2]{background:var(--color-primary-solid, #2563eb);border-color:var(--color-primary-solid, #2563eb)}.geo-tree-check input:indeterminate+.check-visual[data-v-cd5838e2]:after{content:"";width:8px;height:2px;background:#fff;border:none;transform:none;border-radius:1px}.selected-nodes-box[data-v-cd5838e2]{border:1px solid var(--border-color);border-radius:8px;padding:8px;max-height:320px;overflow-y:auto;background:var(--surface, #fff);display:flex;flex-direction:column;gap:4px}.selected-node-chip[data-v-cd5838e2]{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;background:#2563eb0f;border-radius:6px;font-size:12px;font-weight:500;color:var(--text-primary)}.parsed-ids-preview[data-v-cd5838e2]{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:6px}.parsed-ids-label[data-v-cd5838e2]{font-size:11px;color:var(--text-muted);font-weight:600;margin-right:4px}.parsed-id-chip[data-v-cd5838e2]{font-size:11px;font-family:ui-monospace,monospace;padding:1px 6px;background:var(--bg-secondary, #f3f4f6);border-radius:4px;color:var(--text-secondary)}.parsed-ids-more[data-v-cd5838e2]{font-size:11px;color:var(--text-muted);font-style:italic}.geo-group-card[data-v-cd5838e2]{border:1px solid var(--border-color, #e5e7eb);border-radius:8px;margin-bottom:8px;overflow:hidden}.geo-group-header[data-v-cd5838e2]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;background:var(--bg-secondary, #f9fafb);transition:background .15s;gap:12px}.geo-group-header[data-v-cd5838e2]:hover{background:var(--bg-hover, #f3f4f6)}.geo-group-header__left[data-v-cd5838e2]{display:flex;align-items:center;gap:8px;flex-shrink:0}.geo-group-header__right[data-v-cd5838e2]{flex:1;text-align:right;min-width:0}.geo-group-chevron[data-v-cd5838e2]{font-size:10px;color:var(--text-muted);transition:transform .15s;display:inline-block}.geo-group-chevron.expanded[data-v-cd5838e2]{transform:rotate(90deg)}.geo-group-count[data-v-cd5838e2]{font-size:12px;color:var(--text-muted);background:var(--bg-secondary, #e5e7eb);padding:2px 8px;border-radius:10px}.geo-group-nodes-preview[data-v-cd5838e2]{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-group-body[data-v-cd5838e2]{border-top:1px solid var(--border-color, #e5e7eb)}.geo-group-body .assignments-table[data-v-cd5838e2]{margin:0}.feature-flags-admin[data-v-cd5838e2]{margin-top:2rem}.section-divider[data-v-cd5838e2]{height:1px;background:var(--border-color, #e5e7eb);margin:2rem 0 1.5rem}.empty-hint[data-v-cd5838e2]{text-align:center;padding:2rem 1rem;color:var(--text-muted);font-size:13px}.add-override-inline[data-v-cd5838e2]{display:flex;gap:.75rem;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color, #e5e7eb)}@media(max-width:768px){.header-row[data-v-cd5838e2]{flex-direction:column}.role-cards-grid[data-v-cd5838e2]{grid-template-columns:1fr}.tabs-bar[data-v-cd5838e2]{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-label[data-v-cd5838e2]{display:none}.tab-btn[data-v-cd5838e2]{padding:10px 12px}.matrix-toolbar[data-v-cd5838e2]{flex-direction:column;align-items:stretch}.search-input[data-v-cd5838e2]{min-width:unset;width:100%}.geo-assign-layout[data-v-cd5838e2]{grid-template-columns:1fr}.feature-access-header__top[data-v-cd5838e2]{flex-direction:column}.tenant-selector[data-v-cd5838e2]{min-width:unset;width:100%}.access-tenant-bar[data-v-cd5838e2]{flex-direction:column;align-items:stretch}}.header-with-actions[data-v-bb8e032e]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.actions-cell[data-v-bb8e032e]{display:flex;align-items:center;gap:8px}.btn-icon[data-v-bb8e032e]{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;font-size:14px;line-height:1;transition:background .15s}.btn-icon[data-v-bb8e032e]:hover{background:var(--bg-tertiary, #f3f4f6)}.modal-overlay[data-v-bb8e032e]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card[data-v-bb8e032e]{background:var(--surface, #fff);border-radius:12px;padding:24px;width:100%;max-width:440px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 60px #0003}.modal-card__title[data-v-bb8e032e]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.modal-card__actions[data-v-bb8e032e]{display:flex;gap:10px;margin-top:6px}.form-group[data-v-bb8e032e]{display:flex;flex-direction:column;gap:4px}.form-label[data-v-bb8e032e]{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.form-input[data-v-bb8e032e]{padding:9px 12px;border:1px solid var(--border-color, #d1d5db);border-radius:8px;font-size:14px;background:var(--surface, #fff);color:var(--text-primary);outline:none}.form-input[data-v-bb8e032e]:focus{border-color:var(--color-primary-solid, #2563eb);box-shadow:0 0 0 2px #2563eb26}.form-input[data-v-bb8e032e]:disabled{background:var(--bg-secondary, #f3f4f6);color:var(--text-muted);cursor:not-allowed}.required-star[data-v-bb8e032e]{color:#dc2626}.form-hint[data-v-bb8e032e]{font-size:12px;color:var(--text-muted);margin:2px 0 0}.btn-primary[data-v-bb8e032e]{padding:10px 20px;background:var(--color-primary-solid, #2563eb);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn-primary[data-v-bb8e032e]:hover{opacity:.9}.btn-secondary[data-v-bb8e032e]{padding:10px 20px;background:var(--bg-tertiary, #e5e7eb);color:var(--text-primary);border:none;border-radius:8px;font-weight:600;cursor:pointer}.pagination-bar[data-v-bb8e032e]{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;padding:.75rem 0}.pagination-info[data-v-bb8e032e]{font-size:.875rem;color:var(--text-secondary, #4b5563)}.btn-sm[data-v-bb8e032e]{padding:6px 14px;font-size:.875rem}.btn-secondary[data-v-bb8e032e]:disabled{opacity:.5;cursor:not-allowed}.header-actions[data-v-bb8e032e]{display:flex;align-items:center;gap:10px;flex-shrink:0}.settings-modal[data-v-bb8e032e]{max-width:520px}.settings-modal__header[data-v-bb8e032e]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.settings-tenant-name[data-v-bb8e032e]{font-size:13px;color:var(--text-muted);margin:2px 0 0}.btn-close[data-v-bb8e032e]{background:none;border:none;font-size:22px;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1;border-radius:4px;transition:all .15s}.btn-close[data-v-bb8e032e]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-grid[data-v-bb8e032e]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-save-msg[data-v-bb8e032e]{font-size:13px;font-weight:600;color:var(--color-success, #16a34a);padding:6px 0}.page[data-v-3f7c9373]{max-width:960px}.back-link[data-v-3f7c9373]{display:inline-block;margin-bottom:8px;color:var(--color-primary-solid, #2563eb);text-decoration:none;font-size:14px}.back-link[data-v-3f7c9373]:hover{text-decoration:underline}.page-subtitle[data-v-3f7c9373]{color:var(--text-muted);margin:4px 0 0;display:flex;align-items:center;gap:8px}.detail-grid[data-v-3f7c9373]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}@media(max-width:768px){.detail-grid[data-v-3f7c9373]{grid-template-columns:1fr}}.detail-card[data-v-3f7c9373]{background:var(--surface, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;padding:20px}.detail-card h2[data-v-3f7c9373]{margin:0 0 14px;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.detail-list[data-v-3f7c9373]{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 20px;font-size:14px}.detail-list dt[data-v-3f7c9373]{color:var(--text-muted);font-weight:500}.detail-list dd[data-v-3f7c9373]{margin:0}.status-badge[data-v-3f7c9373]{padding:2px 10px;border-radius:6px;font-size:12px;font-weight:600}.status-active[data-v-3f7c9373]{background:#d1fae5;color:#065f46}.status-suspended[data-v-3f7c9373]{background:#fee2e2;color:#991b1b}.stats-grid[data-v-3f7c9373]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stat-item[data-v-3f7c9373]{background:var(--bg-tertiary, #f9fafb);border-radius:10px;padding:16px;text-align:center}.stat-value[data-v-3f7c9373]{display:block;font-size:28px;font-weight:800;color:var(--color-primary-solid, #2563eb)}.stat-label[data-v-3f7c9373]{display:block;font-size:12px;color:var(--text-muted);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.roles-list[data-v-3f7c9373]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.role-row[data-v-3f7c9373]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-tertiary, #f9fafb);border-radius:8px;font-size:14px}.role-code[data-v-3f7c9373]{font-weight:600}.role-count[data-v-3f7c9373]{color:var(--text-muted);font-size:13px}.btn-link[data-v-3f7c9373]{display:inline-block;color:var(--color-primary-solid, #2563eb);text-decoration:none;font-weight:600;font-size:14px;margin-top:8px}.btn-link[data-v-3f7c9373]:hover{text-decoration:underline}.actions-list[data-v-3f7c9373]{display:flex;flex-direction:column;gap:8px}.action-btn[data-v-3f7c9373]{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--bg-tertiary, #f9fafb);border-radius:10px;text-decoration:none;color:inherit;transition:all .15s ease}.action-btn[data-v-3f7c9373]:hover{background:var(--bg-hover, #f3f4f6);box-shadow:var(--shadow-sm);transform:translate(2px)}.action-icon[data-v-3f7c9373]{font-size:22px;width:28px;text-align:center;flex-shrink:0}.action-btn strong[data-v-3f7c9373]{display:block;font-size:14px}.action-btn p[data-v-3f7c9373]{margin:2px 0 0;font-size:12px;color:var(--text-muted)}.muted[data-v-3f7c9373]{color:var(--text-muted);font-size:14px;margin:0 0 8px}.error-msg[data-v-3f7c9373]{color:var(--color-error, #dc2626);font-size:14px;margin:8px 0 0}.loading-text[data-v-3f7c9373]{color:var(--text-muted);font-size:14px;padding:8px 0}.empty-state[data-v-3f7c9373]{padding:24px;color:var(--text-muted)}.card-header-row[data-v-3f7c9373]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-header-row h2[data-v-3f7c9373]{margin:0}.btn-edit[data-v-3f7c9373]{padding:6px 16px;background:var(--color-primary-bg, rgba(37, 99, 235, .08));color:var(--color-primary-solid, #2563eb);border:1px solid var(--color-primary-border, rgba(37, 99, 235, .25));border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-edit[data-v-3f7c9373]:hover{background:var(--color-primary-solid, #2563eb);color:#fff}.settings-edit-form[data-v-3f7c9373]{display:flex;flex-direction:column;gap:16px}.settings-form-grid[data-v-3f7c9373]{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:480px){.settings-form-grid[data-v-3f7c9373]{grid-template-columns:1fr}}.form-group[data-v-3f7c9373]{display:flex;flex-direction:column;gap:4px}.form-group label[data-v-3f7c9373]{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.form-input[data-v-3f7c9373]{padding:10px 12px;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;background:var(--bg-secondary, #fff);color:var(--text-primary);font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.form-input[data-v-3f7c9373]:focus{outline:none;border-color:var(--color-primary-solid, #2563eb);box-shadow:0 0 0 3px var(--color-primary-bg, rgba(37, 99, 235, .08))}.settings-form-actions[data-v-3f7c9373]{display:flex;gap:10px;justify-content:flex-end}.btn-cancel[data-v-3f7c9373]{padding:8px 18px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.btn-cancel[data-v-3f7c9373]:hover{background:var(--bg-hover)}.btn-save[data-v-3f7c9373]{padding:8px 18px;background:var(--color-primary-solid, #2563eb);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease}.btn-save[data-v-3f7c9373]:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.btn-save[data-v-3f7c9373]:disabled{opacity:.6;cursor:not-allowed}.success-msg[data-v-3f7c9373]{color:var(--color-success, #059669);font-size:13px;font-weight:500}.bulk-upload[data-v-c72ec5c4]{max-width:1100px;margin:0 auto;padding:2rem}.bulk-upload__header h1[data-v-c72ec5c4]{font-size:1.5rem;font-weight:600;margin:0 0 .25rem}.bulk-upload__subtitle[data-v-c72ec5c4]{color:var(--color-text-secondary, #6b7280);margin:0 0 1.5rem}.bulk-upload__controls[data-v-c72ec5c4]{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.form-group[data-v-c72ec5c4]{display:flex;flex-direction:column;gap:.25rem}.form-group label[data-v-c72ec5c4]{font-size:.875rem;font-weight:500}.select-input[data-v-c72ec5c4]{padding:.5rem .75rem;border:1px solid var(--color-border, #d1d5db);border-radius:.375rem;font-size:.875rem;min-width:200px;background:var(--color-bg, #fff)}.template-actions[data-v-c72ec5c4]{display:flex;gap:.5rem}.btn[data-v-c72ec5c4]{padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .15s}.btn--primary[data-v-c72ec5c4]{background:var(--color-primary, #2563eb);color:#fff}.btn--primary[data-v-c72ec5c4]:hover:not(:disabled){background:var(--color-primary-dark, #1d4ed8)}.btn--secondary[data-v-c72ec5c4]{background:var(--color-bg, #fff);color:var(--color-text, #111827);border-color:var(--color-border, #d1d5db)}.btn--secondary[data-v-c72ec5c4]:hover:not(:disabled){background:var(--color-bg-secondary, #f3f4f6)}.btn--small[data-v-c72ec5c4]{padding:.25rem .75rem;font-size:.8rem}.btn[data-v-c72ec5c4]:disabled{opacity:.5;cursor:not-allowed}.btn-icon[data-v-c72ec5c4]{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:0 .5rem;color:var(--color-text-secondary, #6b7280)}.drop-zone[data-v-c72ec5c4]{border:2px dashed var(--color-border, #d1d5db);border-radius:.5rem;padding:2rem;text-align:center;position:relative;margin-bottom:1rem;transition:border-color .15s;cursor:pointer}.drop-zone[data-v-c72ec5c4]:hover{border-color:var(--color-primary, #2563eb)}.drop-zone--has-file[data-v-c72ec5c4]{border-style:solid;padding:1rem}.drop-zone__icon[data-v-c72ec5c4]{font-size:2rem;color:var(--color-text-secondary, #6b7280);margin-bottom:.5rem}.drop-zone__input[data-v-c72ec5c4]{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-zone__file-info[data-v-c72ec5c4]{display:flex;align-items:center;gap:1rem}.drop-zone__file-name[data-v-c72ec5c4]{font-weight:500}.drop-zone__file-size[data-v-c72ec5c4]{color:var(--color-text-secondary, #6b7280);font-size:.875rem}.bulk-upload__actions[data-v-c72ec5c4]{display:flex;gap:.75rem;margin-bottom:1.5rem}.alert[data-v-c72ec5c4]{padding:.75rem 1rem;border-radius:.375rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.alert--error[data-v-c72ec5c4]{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert__dismiss[data-v-c72ec5c4]{background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit}.result-card[data-v-c72ec5c4]{background:var(--color-bg, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:.5rem;padding:1.5rem;margin-bottom:1rem}.result-card h3[data-v-c72ec5c4]{font-size:1.125rem;margin:0 0 1rem}.result-card__summary[data-v-c72ec5c4]{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.stat-box[data-v-c72ec5c4]{padding:.75rem 1.25rem;border-radius:.375rem;background:var(--color-bg-secondary, #f9fafb);text-align:center;min-width:100px}.stat-box__value[data-v-c72ec5c4]{display:block;font-size:1.5rem;font-weight:600}.stat-box__label[data-v-c72ec5c4]{font-size:.75rem;color:var(--color-text-secondary, #6b7280);text-transform:uppercase}.stat-box--success[data-v-c72ec5c4]{background:#f0fdf4}.stat-box--success .stat-box__value[data-v-c72ec5c4]{color:#16a34a}.stat-box--info[data-v-c72ec5c4]{background:#eff6ff}.stat-box--info .stat-box__value[data-v-c72ec5c4]{color:#2563eb}.stat-box--error[data-v-c72ec5c4]{background:#fef2f2}.stat-box--error .stat-box__value[data-v-c72ec5c4]{color:#dc2626}.stat-box--muted .stat-box__value[data-v-c72ec5c4]{color:var(--color-text-secondary, #6b7280);font-size:1rem}.result-card__errors[data-v-c72ec5c4]{margin-top:1rem}.result-card__errors-header[data-v-c72ec5c4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.result-card__errors-header h4[data-v-c72ec5c4]{margin:0;font-size:.95rem}.table-wrapper[data-v-c72ec5c4]{overflow-x:auto;max-height:400px;overflow-y:auto}.data-table[data-v-c72ec5c4]{width:100%;border-collapse:collapse;font-size:.8rem}.data-table th[data-v-c72ec5c4],.data-table td[data-v-c72ec5c4]{padding:.4rem .6rem;border:1px solid var(--color-border, #e5e7eb);text-align:left}.data-table th[data-v-c72ec5c4]{background:var(--color-bg-secondary, #f9fafb);font-weight:600;position:sticky;top:0}.cell-truncate[data-v-c72ec5c4]{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-footer[data-v-c72ec5c4]{font-size:.8rem;color:var(--color-text-secondary, #6b7280);text-align:center;padding:.5rem}.mono[data-v-0fda76d7]{font-family:ui-monospace,monospace}.audit-description[data-v-0fda76d7]{max-width:280px}.failure-reason[data-v-0fda76d7]{color:#991b1b;font-size:.8rem;display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-agent-text[data-v-0fda76d7]{color:var(--text-tertiary);font-size:.75rem}.result-badge[data-v-0fda76d7]{display:inline-block;padding:.2rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.result-badge.result-success[data-v-0fda76d7]{background:#dcfce7;color:#166534}.result-badge.result-failure[data-v-0fda76d7]{background:#fee2e2;color:#991b1b}.btn-secondary[data-v-0fda76d7]{padding:8px 16px;background:var(--bg-tertiary, #e5e7eb);color:var(--text-primary);border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn-sm[data-v-0fda76d7]{padding:6px 14px;font-size:.875rem}.btn-secondary[data-v-0fda76d7]:disabled{opacity:.5;cursor:not-allowed}.action-badge[data-v-0fda76d7]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;background:color-mix(in srgb,var(--color-primary-solid, #6366f1) 12%,transparent);color:var(--color-primary-solid, #6366f1)}.page[data-v-0fda76d7]{display:flex;flex-direction:column;gap:24px}.page-header[data-v-0fda76d7]{display:flex;flex-direction:column;gap:4px}.page-header h1[data-v-0fda76d7]{font-size:28px;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.5px}.page-subtitle[data-v-0fda76d7]{font-size:14px;color:var(--text-secondary);margin:0}.toolbar[data-v-0fda76d7]{display:flex;flex-direction:column;gap:12px}.search-bar[data-v-0fda76d7]{display:flex;gap:10px}.search-input[data-v-0fda76d7]{flex:1;padding:10px 16px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;transition:all .2s ease;font-weight:500}.search-input[data-v-0fda76d7]:focus{outline:none;border-color:var(--color-primary-solid);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-solid) 10%,transparent)}.search-input[data-v-0fda76d7]::placeholder{color:var(--text-tertiary)}.filters[data-v-0fda76d7]{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.filter-select[data-v-0fda76d7]{padding:10px 16px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;transition:all .2s ease;font-weight:500}.filter-select[data-v-0fda76d7]:focus{outline:none;border-color:var(--color-primary-solid);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-solid) 10%,transparent)}
