.read-error[data-v-bf07cdc5]{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px}.page[data-v-bf07cdc5]{display:flex;flex-direction:column;gap:16px}.page-header[data-v-bf07cdc5]{align-items:flex-start;display:flex;justify-content:space-between}.page-title[data-v-bf07cdc5]{color:#111827;font-size:20px;font-weight:700}.page-desc[data-v-bf07cdc5]{color:#9ca3af;font-size:13px;margin-top:4px}.btn[data-v-bf07cdc5]{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:500;height:38px;padding:0 18px;transition:all .15s}.btn.primary[data-v-bf07cdc5]{background:linear-gradient(135deg,#f97316,#fb923c);border-color:transparent;box-shadow:0 4px 12px #f9731647;color:#fff}.btn.primary[data-v-bf07cdc5]:hover:not(:disabled){background:linear-gradient(135deg,#ea580c,#f97316);box-shadow:0 6px 16px #f9731661;transform:translateY(-1px)}.btn[data-v-bf07cdc5]:disabled{cursor:not-allowed;opacity:.5}.table-wrap[data-v-bf07cdc5]{background:#fff;border:1px solid #e8eaef;border-radius:12px;overflow-x:auto}table[data-v-bf07cdc5]{border-collapse:collapse;width:100%}th[data-v-bf07cdc5]{background:#f8f9fb;border-bottom:1px solid #e8eaef;color:#9ca3af;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}td[data-v-bf07cdc5]{border-bottom:1px solid #f0f1f3;color:#374151;font-size:13.5px;padding:13px 16px}tr:last-child td[data-v-bf07cdc5]{border-bottom:none}tr:hover td[data-v-bf07cdc5]{background:#fafbfc}.id-cell[data-v-bf07cdc5]{color:#9ca3af;font-size:12.5px;width:60px}.name-cell[data-v-bf07cdc5]{font-weight:600}.desc-cell[data-v-bf07cdc5]{color:#6b7280;font-size:13px;max-width:240px}.time-cell[data-v-bf07cdc5]{color:#9ca3af;font-size:12.5px}.count-badge[data-v-bf07cdc5]{background:#ede9fe;border-radius:6px;color:#7c3aed;padding:2px 8px}.count-badge[data-v-bf07cdc5],.status-badge[data-v-bf07cdc5]{font-size:11.5px;font-weight:600}.status-badge[data-v-bf07cdc5]{border-radius:20px;display:inline-block;padding:2px 10px}.status-badge.active[data-v-bf07cdc5]{background:#d1fae5;color:#059669}.status-badge.inactive[data-v-bf07cdc5]{background:#fef2f2;color:#dc2626}.empty-td[data-v-bf07cdc5],.loading-td[data-v-bf07cdc5]{color:#9ca3af;padding:40px;text-align:center}.loader[data-v-bf07cdc5]{animation:spin-bf07cdc5 1s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#f97316;height:22px;margin:0 auto;width:22px}@keyframes spin-bf07cdc5{to{transform:rotate(1turn)}}.row-actions[data-v-bf07cdc5]{display:flex;gap:6px}.action-btn[data-v-bf07cdc5]{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:12.5px;padding:4px 10px;transition:all .15s}.action-btn[data-v-bf07cdc5]:hover{background:#f3f4f6}.action-btn.danger[data-v-bf07cdc5]{border-color:#fecaca;color:#dc2626}.modal-mask[data-v-bf07cdc5]{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal[data-v-bf07cdc5]{background:#fff;border-radius:12px;max-height:90vh;overflow-y:auto;width:440px}.perm-modal[data-v-bf07cdc5]{width:560px}.modal-header[data-v-bf07cdc5]{align-items:center;border-bottom:1px solid #f0f1f3;display:flex;justify-content:space-between;padding:18px 22px 14px}.modal-title[data-v-bf07cdc5]{color:#111827;font-size:15.5px;font-weight:700}.close-btn[data-v-bf07cdc5]{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:16px}.modal-body[data-v-bf07cdc5]{display:flex;flex-direction:column;gap:14px;padding:18px 22px}.modal-footer[data-v-bf07cdc5]{border-top:1px solid #f0f1f3;display:flex;gap:8px;justify-content:flex-end;padding:14px 22px}.form-group[data-v-bf07cdc5]{display:flex;flex-direction:column;gap:5px}.form-group label[data-v-bf07cdc5]{color:#6b7280;font-size:12.5px;font-weight:500}.req[data-v-bf07cdc5]{color:#ef4444;margin-left:2px}.form-group input[data-v-bf07cdc5],.form-group select[data-v-bf07cdc5],.form-group textarea[data-v-bf07cdc5]{border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-family:inherit;font-size:13.5px;outline:none;padding:9px 12px;resize:vertical;transition:border-color .18s}.form-group input[data-v-bf07cdc5]:focus,.form-group select[data-v-bf07cdc5]:focus,.form-group textarea[data-v-bf07cdc5]:focus{border-color:#f97316}.perm-tip[data-v-bf07cdc5]{color:#9ca3af;font-size:12.5px}.perm-tree[data-v-bf07cdc5]{display:flex;flex-direction:column;gap:10px}.perm-group[data-v-bf07cdc5]{border:1px solid #e8eaef;border-radius:8px;overflow:hidden}.perm-group-head[data-v-bf07cdc5]{align-items:center;background:#f8f9fb;display:flex;gap:8px;padding:9px 14px}.perm-group-head label[data-v-bf07cdc5]{color:#374151;cursor:pointer;font-size:13px;font-weight:600}.perm-items[data-v-bf07cdc5]{display:grid;gap:6px;grid-template-columns:1fr 1fr 1fr;padding:10px 14px}.perm-item[data-v-bf07cdc5]{align-items:center;color:#6b7280;cursor:pointer;display:flex;font-size:12.5px;gap:6px}
