/* REGAB Benutzer & Rechte – Dark/Light via CSS-Variablen auf #regab-ur-host */

body.regab-ur-active .page-content {
  max-width: none !important;
  width: 100% !important;
}

/* Alte React-Seite nur ausblenden – DOM/Funktionen bleiben erhalten */
body.regab-ur-active .page-content > *:not(#regab-ur-host),
.page-content.regab-ur-mounted > *:not(#regab-ur-host),
.page-content > [data-regab-ur-hidden="1"] {
  display: none !important;
}

#regab-ur-host {
  --ur-card: #ffffff;
  --ur-card-alt: #0b2134;
  --ur-soft: #f4f7fa;
  --ur-soft-strong: #f7fafc;
  --ur-toolbar: #fbfcfd;
  --ur-text: #172536;
  --ur-heading: #172536;
  --ur-muted: #6d7b8b;
  --ur-faint: #8a9aad;
  --ur-eyebrow: #66809a;
  --ur-line: #e2e8ef;
  --ur-line-strong: #c5ced8;
  --ur-line-table: #aeb9c6;
  --ur-input: #ffffff;
  --ur-hover: #f7fafc;
  --ur-selected: #eef4ff;
  --ur-avatar-bg: #eaf1ff;
  --ur-avatar-border: #d5e2ff;
  --ur-pill-bg: #f3f6fa;
  --ur-seg-bg: #f4f7fa;
  --ur-nav-bg: #f8fafc;
  --ur-nav-em: #e8eef5;
  --ur-nav-text: #44566a;
  --ur-th-bg: #f7fafc;
  --ur-th-color: #7a8b9d;
  --ur-matrix-th: #f3f6f9;
  --ur-matrix-th-text: #5f7082;
  --ur-matrix-border: #b8c3d0;
  --ur-matrix-cell-border: #dde3ea;
  --ur-scrollbar: #b8c3d0;
  --ur-action-border: #c5d0dc;
  --ur-action-text: #243447;
  --ur-origin-strong: #334155;
  --ur-search-span: #172536;
  --ur-empty-strong: #172536;
  --ur-tech: #8a9aad;
  --ur-editor-tools-border: #eef2f6;
  --ur-changebar-bg: rgba(255, 255, 255, .96);
  --ur-changebar-shadow: 0 -8px 24px rgba(31, 48, 67, .08);
  --ur-backdrop: rgba(10, 24, 40, .5);
  --ur-popover-backdrop: rgba(10, 24, 40, .25);
  --ur-editor-backdrop: rgba(10, 24, 40, .48);
  --ur-side-head-grad: linear-gradient(#f8fbff, #fff);
  --ur-editor-head-grad: linear-gradient(#f8fbff, #fff);
  --ur-editor-footer-bg: rgba(255, 255, 255, .97);
  --ur-editor-shadow: 0 24px 64px rgba(21, 36, 54, .22);
  --blue: #3977ed;
  --blue-soft: #eaf1ff;
  --blue-border: #c9dbff;
  --line: var(--ur-line);
  --muted: var(--ur-muted);
  --shadow: 0 12px 32px rgba(31, 48, 67, .07);
  --green: #1f8d61;
  --green-soft: #e8f7ef;
  --green-border: #b8e5cb;
  --red: #c2464d;
  --red-soft: #fff0f2;
  --red-border: #f1b7bc;
  --danger-btn-bg: #fff2f2;
  --danger-btn-border: #f0c0c4;
  --warn-bg: #fff7e8;
  --warn-text: #9a6700;
  --warn-border: #efd3a0;
  --warn-block-bg: #fffaf0;
  --warn-row-border: #f0e0b8;
  --pill-admin-bg: #eaf1ff;
  --pill-admin-text: #2d5fd8;
  --pill-admin-border: #c9dbff;
  --pill-site-bg: #e7f7ee;
  --pill-site-text: #1a9a63;
  --pill-site-border: #c3e9d3;
  --pill-office-bg: #eef1ff;
  --pill-office-text: #4c5bd4;
  --pill-office-border: #d0d6f8;
  --pill-employee-bg: #fff3e5;
  --pill-employee-text: #b7791f;
  --pill-employee-border: #f0d2a4;
  --pill-service-bg: #eaf7ff;
  --pill-service-text: #1f6f9a;
  --pill-service-border: #c4e2f4;
  --pill-ok-bg: #e8f7ef;
  --pill-ok-border: #b8e5cb;
  --pill-bad-bg: #fff0f2;
  --pill-bad-border: #f1b7bc;
  --toast-ok-bg: #e9f8f0;
  --toast-ok-border: #bfe8d1;
  --choice-role-bg: #eef3f8;
  --choice-role-text: #44566a;
  --dev-add-bg: #e8f7ef;
  --dev-add-border: #b8e5cb;
  --dev-add-text: #176644;
  --dev-rem-bg: #fff0f2;
  --dev-rem-border: #f1b7bc;
  --dev-rem-text: #9b2330;
  --matrix-empty: #c5ced8;
  --matrix-critical-bg: #fff7e8;
  --matrix-critical-border: #efd3a0;
  --matrix-critical-text: #9a6700;
  --matrix-off-bg: #fff5f5;
  color: var(--ur-text);
  font-family: "DM Sans", system-ui, sans-serif;
  display: grid;
  gap: 18px;
  padding-bottom: 28px;
}

html.theme-dark #regab-ur-host,
body.theme-dark #regab-ur-host {
  --ur-card: #10283d;
  --ur-card-alt: #0b2134;
  --ur-soft: #071827;
  --ur-soft-strong: #0b1e31;
  --ur-toolbar: #0b1e31;
  --ur-text: #edf6ff;
  --ur-heading: #f7fbff;
  --ur-muted: #a6b9cc;
  --ur-faint: #7f99b5;
  --ur-eyebrow: #9fb5cc;
  --ur-line: #244b70;
  --ur-line-strong: #346a9e;
  --ur-line-table: #346a9e;
  --ur-input: #071827;
  --ur-hover: #12324c;
  --ur-selected: rgba(91, 156, 255, .16);
  --ur-avatar-bg: rgba(91, 156, 255, .18);
  --ur-avatar-border: #346a9e;
  --ur-pill-bg: #0b1e31;
  --ur-seg-bg: #071827;
  --ur-nav-bg: #0b1e31;
  --ur-nav-em: #12324c;
  --ur-nav-text: #a6b9cc;
  --ur-th-bg: #0b1e31;
  --ur-th-color: #9fb5cc;
  --ur-matrix-th: #0b1e31;
  --ur-matrix-th-text: #9fb5cc;
  --ur-matrix-border: #244b70;
  --ur-matrix-cell-border: #244b70;
  --ur-scrollbar: #346a9e;
  --ur-action-border: #346a9e;
  --ur-action-text: #edf6ff;
  --ur-origin-strong: #edf6ff;
  --ur-search-span: #edf6ff;
  --ur-empty-strong: #f7fbff;
  --ur-tech: #7f99b5;
  --ur-editor-tools-border: #244b70;
  --ur-changebar-bg: rgba(16, 40, 61, .96);
  --ur-changebar-shadow: 0 -8px 24px rgba(0, 0, 0, .28);
  --ur-backdrop: rgba(2, 10, 18, .65);
  --ur-popover-backdrop: rgba(2, 10, 18, .55);
  --ur-editor-backdrop: rgba(2, 10, 18, .6);
  --ur-side-head-grad: linear-gradient(#12324c, #10283d);
  --ur-editor-head-grad: linear-gradient(#12324c, #10283d);
  --ur-editor-footer-bg: rgba(16, 40, 61, .97);
  --ur-editor-shadow: 0 24px 64px rgba(0, 0, 0, .45);
  --blue: #72abff;
  --blue-soft: rgba(91, 156, 255, .16);
  --blue-border: #346a9e;
  --shadow: 0 12px 32px rgba(0, 0, 0, .28);
  --green: #67d49b;
  --green-soft: rgba(35, 154, 99, .18);
  --green-border: rgba(103, 212, 155, .35);
  --red: #ff9099;
  --red-soft: rgba(203, 64, 71, .18);
  --red-border: rgba(255, 144, 153, .35);
  --danger-btn-bg: rgba(203, 64, 71, .18);
  --danger-btn-border: rgba(255, 144, 153, .35);
  --warn-bg: rgba(154, 103, 0, .2);
  --warn-text: #efd3a0;
  --warn-border: rgba(239, 211, 160, .4);
  --warn-block-bg: rgba(154, 103, 0, .16);
  --warn-row-border: rgba(239, 211, 160, .35);
  --pill-admin-bg: rgba(91, 156, 255, .18);
  --pill-admin-text: #72abff;
  --pill-admin-border: #346a9e;
  --pill-site-bg: rgba(35, 154, 99, .18);
  --pill-site-text: #67d49b;
  --pill-site-border: rgba(103, 212, 155, .35);
  --pill-office-bg: rgba(91, 156, 255, .14);
  --pill-office-text: #9bb8ff;
  --pill-office-border: #346a9e;
  --pill-employee-bg: rgba(183, 121, 31, .22);
  --pill-employee-text: #efd3a0;
  --pill-employee-border: rgba(239, 211, 160, .4);
  --pill-service-bg: rgba(31, 111, 154, .22);
  --pill-service-text: #7ec8ef;
  --pill-service-border: rgba(126, 200, 239, .35);
  --pill-ok-bg: rgba(35, 154, 99, .18);
  --pill-ok-border: rgba(103, 212, 155, .35);
  --pill-bad-bg: rgba(203, 64, 71, .18);
  --pill-bad-border: rgba(255, 144, 153, .35);
  --toast-ok-bg: rgba(35, 154, 99, .22);
  --toast-ok-border: rgba(103, 212, 155, .4);
  --choice-role-bg: #12324c;
  --choice-role-text: #a6b9cc;
  --dev-add-bg: rgba(35, 154, 99, .18);
  --dev-add-border: rgba(103, 212, 155, .35);
  --dev-add-text: #67d49b;
  --dev-rem-bg: rgba(203, 64, 71, .18);
  --dev-rem-border: rgba(255, 144, 153, .35);
  --dev-rem-text: #ff9099;
  --matrix-empty: #346a9e;
  --matrix-critical-bg: rgba(154, 103, 0, .22);
  --matrix-critical-border: rgba(239, 211, 160, .4);
  --matrix-critical-text: #efd3a0;
  --matrix-off-bg: rgba(203, 64, 71, .18);
}

#regab-ur-host * { box-sizing: border-box; }

.ur-eyebrow {
  display: block;
  color: var(--ur-eyebrow);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.ur-head {
  display: flex;
  gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.ur-head h1 {
  margin: 0;
  font-family: Manrope, "DM Sans", sans-serif;
  font-size: 30px;
  letter-spacing: -.03em;
  color: var(--ur-heading);
}

.ur-head p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 14px;
  max-width: 40rem;
}

.ur-head-actions,
.ur-perm-bar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.ur-input,
.ur-select {
  height: 41px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--ur-input);
  font: inherit;
  padding: 0 12px;
  color: var(--ur-text);
}

.ur-input::placeholder {
  color: var(--ur-faint);
}

.ur-input-sm { height: 36px; min-width: 180px; font-size: 13px; }

.ur-btn {
  min-height: 41px;
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--ur-card);
  color: var(--ur-text);
  font: inherit;
  font-weight: 650;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.ur-btn-sm { min-height: 36px; padding: 0 12px; font-size: 13px; }
.ur-btn.primary { background: var(--blue); border-color: var(--blue); color: #fff; box-shadow: 0 7px 16px #3774ea33; }
.ur-btn.danger { background: var(--danger-btn-bg); border-color: var(--danger-btn-border); color: var(--red); }
.ur-btn.ghost { background: var(--ur-soft-strong); color: var(--muted); }
.ur-btn:disabled { opacity: .55; cursor: not-allowed; }

.ur-icon-btn {
  width: 41px; height: 41px; padding: 0;
  border: 1px solid var(--line); border-radius: 8px;
  background: var(--ur-card); color: var(--muted); cursor: pointer;
}

.ur-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.ur-stat {
  background: var(--ur-card);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow);
  padding: 16px 18px;
  min-height: 88px;
  display: grid;
  gap: 4px;
  color: var(--ur-text);
}

.ur-stat strong { font-size: 28px; letter-spacing: -.03em; line-height: 1; color: var(--ur-heading); }
.ur-stat span { color: var(--muted); font-size: 13px; font-weight: 600; }
.ur-stat em { font-style: normal; font-size: 12px; color: var(--green); font-weight: 650; }
.ur-stat em.bad { color: var(--red); }
.ur-stat em.muted { color: var(--muted); }

.ur-page-switch { width: fit-content; margin-top: -6px; }

.ur-seg {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--ur-seg-bg);
}

.ur-seg button {
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  padding: 7px 12px;
  border-radius: 8px;
  cursor: pointer;
}

.ur-seg button.is-on {
  background: var(--ur-card);
  color: var(--blue);
  box-shadow: 0 1px 2px rgba(23, 37, 54, .08);
}

.ur-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 16px;
  align-items: start;
}
.ur-grid.is-single { grid-template-columns: minmax(0, 1fr); }

.ur-main-col { min-width: 0; }

.ur-table-section .ur-card { margin-bottom: 0; }
.ur-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px; border-bottom: 1px solid var(--line); }
.ur-section-head h2 { margin: 0; color: var(--ur-heading); font-size: 18px; }
.ur-section-head p { margin: 5px 0 0; color: var(--muted); font-size: 12.5px; line-height: 1.45; }
.ur-muted-text { color: var(--muted); }
.ur-personnel-access-card .ur-table td:last-child { width: 1%; white-space: nowrap; }

.ur-col { display: grid; gap: 16px; min-width: 0; }

.ur-card {
  background: var(--ur-card);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow);
  overflow: hidden;
  color: var(--ur-text);
}

.ur-tabs {
  display: flex;
  gap: 2px;
  padding: 0 14px;
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
}

.ur-tabs button {
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  padding: 14px 12px 12px;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  white-space: nowrap;
}

.ur-tabs button.is-on { color: var(--blue); border-bottom-color: var(--blue); }

.ur-toolbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  background: var(--ur-toolbar);
}

.ur-toolbar .ur-input { flex: 1 1 200px; height: 38px; }

.ur-table-wrap { overflow: auto; max-height: min(52vh, 560px); }

.ur-table { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--ur-text); }
.ur-table th, .ur-table td { padding: 12px 14px; border-bottom: 1px solid var(--ur-line-strong); text-align: left; white-space: nowrap; }
.ur-table th {
  position: sticky; top: 0; z-index: 1;
  background: var(--ur-th-bg); color: var(--ur-th-color);
  font-size: 11px; letter-spacing: .04em; text-transform: uppercase; font-weight: 750;
  border-bottom: 2px solid var(--ur-line-table);
}
.ur-table tbody tr { cursor: pointer; }
.ur-table tbody tr:hover td { background: var(--ur-hover); }
.ur-table tbody tr.is-on td { background: var(--ur-selected); }

.ur-person { display: flex; gap: 10px; align-items: center; }
.ur-avatar {
  width: 36px; height: 36px; border-radius: 999px;
  display: grid; place-items: center;
  background: var(--ur-avatar-bg); color: var(--blue);
  font-weight: 800; font-size: 12px; border: 1px solid var(--ur-avatar-border);
}
.ur-avatar.lg { width: 46px; height: 46px; font-size: 15px; }
.ur-avatar.sm { width: 30px; height: 30px; font-size: 11px; }
.ur-person strong { display: block; font-size: 13px; color: var(--ur-heading); }
.ur-person small { color: var(--muted); font-size: 11px; }
.ur-person-compact { gap: 8px; }

.ur-pill {
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 26px; padding: 2px 10px;
  border-radius: 999px; border: 1px solid var(--line);
  background: var(--ur-pill-bg); font-size: 12px; font-weight: 700;
  color: var(--ur-text);
}
.ur-pill.admin { background: var(--pill-admin-bg); color: var(--pill-admin-text); border-color: var(--pill-admin-border); }
.ur-pill.site { background: var(--pill-site-bg); color: var(--pill-site-text); border-color: var(--pill-site-border); }
.ur-pill.office { background: var(--pill-office-bg); color: var(--pill-office-text); border-color: var(--pill-office-border); }
.ur-pill.employee { background: var(--pill-employee-bg); color: var(--pill-employee-text); border-color: var(--pill-employee-border); }
.ur-pill.service { background: var(--pill-service-bg); color: var(--pill-service-text); border-color: var(--pill-service-border); }
.ur-pill.ok { background: var(--pill-ok-bg); color: var(--green); border-color: var(--pill-ok-border); }
.ur-pill.bad { background: var(--pill-bad-bg); color: var(--red); border-color: var(--pill-bad-border); }
.ur-pill.warn { background: var(--warn-bg); color: var(--warn-text); border-color: var(--warn-border); }
.ur-pill.muted { color: var(--muted); }
.ur-dot { width: 7px; height: 7px; border-radius: 999px; background: currentColor; }

.ur-actions { display: inline-flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.ur-actions button,
.ur-action-btn {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid var(--ur-action-border);
  background: var(--ur-card);
  color: var(--ur-action-text);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.ur-action-btn:hover { background: var(--ur-hover); border-color: var(--ur-line-strong); }
.ur-action-btn.danger { color: var(--red); border-color: var(--danger-btn-border); background: var(--ur-card); }
.ur-action-btn.danger:hover { background: var(--red-soft); }

.ur-foot {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 11px 14px; color: var(--muted); font-size: 12.5px;
  border-top: 1px solid var(--line); background: var(--ur-toolbar);
}

.ur-side { position: sticky; top: 12px; max-height: calc(100vh - 24px); display: flex; flex-direction: column; width: 360px; }
.ur-side-head {
  display: flex; gap: 12px; padding: 16px;
  border-bottom: 1px solid var(--line);
  background: var(--ur-side-head-grad);
}
.ur-side-head h2 { margin: 0; font-size: 17px; line-height: 1.25; color: var(--ur-heading); }
.ur-side-head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; word-break: break-word; }
.ur-side-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ur-side-stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
  padding: 12px 14px; border-bottom: 1px solid var(--line); background: var(--ur-toolbar);
}
.ur-side-stats > div {
  border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; background: var(--ur-card); display: grid; gap: 2px;
}
.ur-side-stats span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ur-side-stats strong { font-size: 13px; color: var(--ur-heading); }
.ur-side-stats small { color: var(--muted); font-size: 11px; }
.ur-side-body { overflow: auto; padding: 14px; display: grid; gap: 12px; flex: 1; min-height: 0; }
.ur-drawer-tabs { flex-wrap: wrap; overflow: visible; }
.ur-drawer-tabs button { padding: 10px 10px 8px; font-size: 12px; flex: 1 1 auto; min-width: 0; }

.ur-section {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 12px;
  display: grid;
  gap: 10px;
  background: transparent;
}
.ur-section h3 { margin: 0; font-size: 13px; font-weight: 750; color: var(--ur-heading); }

.ur-kv, .ur-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ur-kv div, .ur-mini > div { display: grid; gap: 2px; }
.ur-kv span, .ur-mini span { color: var(--muted); font-size: 11px; font-weight: 650; }
.ur-kv strong, .ur-mini strong { font-size: 13px; font-weight: 650; color: var(--ur-text); }
.ur-mini > div { border: 1px solid var(--line); border-radius: 10px; padding: 10px; background: var(--ur-soft-strong); }
.ur-mini small { color: var(--muted); font-size: 12px; }

.ur-stack { display: grid; gap: 8px; }
.ur-stack .ur-btn { width: 100%; justify-content: flex-start; }

.ur-perm-card { overflow: hidden; min-height: 520px; }
.ur-perm {
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr);
  min-height: 520px;
}

.ur-perm-nav {
  background: var(--ur-nav-bg);
  border-right: 1px solid var(--line);
  padding: 10px;
  display: grid;
  gap: 4px;
  align-content: start;
  position: sticky;
  top: 0;
  align-self: start;
  max-height: calc(100vh - 180px);
  overflow: auto;
}

.ur-perm-nav button {
  border: 1px solid transparent;
  background: transparent;
  border-radius: 8px;
  padding: 9px 11px;
  text-align: left;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  color: var(--ur-nav-text);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  line-height: 1.25;
}

.ur-perm-nav button em {
  font-style: normal;
  font-size: 11px;
  color: var(--muted);
  background: var(--ur-nav-em);
  border-radius: 999px;
  padding: 1px 7px;
}

.ur-perm-nav button.is-on {
  background: var(--ur-card);
  border-color: var(--blue-border);
  color: var(--blue);
  box-shadow: inset 3px 0 0 var(--blue);
}

.ur-perm-main { display: grid; grid-template-rows: auto auto 1fr; min-width: 0; min-height: 520px; }

.ur-perm-body { display: grid; grid-template-rows: auto 1fr; min-height: 0; }
.ur-perm-content { padding: 0 16px 20px; min-height: 380px; }

.ur-module-head {
  display: flex; justify-content: space-between; gap: 16px; align-items: flex-start;
  padding: 16px 16px 12px; border-bottom: 1px solid var(--line);
}
.ur-module-head h2 { margin: 0; font-family: Manrope, sans-serif; font-size: 20px; color: var(--ur-heading); }
.ur-module-head p { margin: 6px 0 0; color: var(--muted); font-size: 13px; max-width: 42rem; line-height: 1.45; }
.ur-origin { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-top: 10px; font-size: 12px; color: var(--muted); }
.ur-origin strong { color: var(--ur-origin-strong); }
.ur-module-count { text-align: right; white-space: nowrap; }
.ur-module-count strong { display: block; font-size: 22px; line-height: 1; color: var(--ur-heading); }
.ur-module-count span { color: var(--muted); font-size: 12px; }

.ur-preset-block { padding: 12px 16px; border-bottom: 1px solid var(--line); background: var(--ur-toolbar); }
.ur-preset-label { display: block; font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin-bottom: 8px; }
.ur-preset-seg, .ur-view-seg { width: 100%; }
.ur-preset-seg button, .ur-view-seg button { flex: 1 1 auto; text-align: center; min-width: 0; }

.ur-role-picker { display: grid; gap: 2px; min-width: 140px; }
.ur-role-picker span { font-size: 10px; font-weight: 700; text-transform: uppercase; color: var(--muted); }
.ur-role-picker strong { font-size: 14px; color: var(--ur-heading); }
.ur-role-picker small { color: var(--muted); font-size: 11px; }

.ur-search-wrap { position: relative; flex: 1 1 220px; }
.ur-search-results {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 20;
  background: var(--ur-card); border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow);
  max-height: 240px; overflow: auto; display: grid;
}
.ur-search-results button {
  border: 0; background: var(--ur-card); text-align: left; padding: 10px 12px; cursor: pointer;
  display: grid; gap: 2px; border-bottom: 1px solid var(--line); font: inherit; color: var(--ur-text);
}
.ur-search-results button:hover { background: var(--ur-hover); }
.ur-search-results strong { font-size: 11px; color: var(--muted); text-transform: uppercase; }
.ur-search-results span { font-size: 13px; color: var(--ur-search-span); }

.ur-matrix-wrap { overflow: auto; margin-top: 12px; border: 1px solid var(--ur-matrix-border); border-radius: 10px; }
.ur-matrix { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 520px; }
.ur-matrix th, .ur-matrix td { padding: 10px 12px; border-bottom: 1px solid var(--ur-line-strong); border-right: 1px solid var(--ur-matrix-cell-border); text-align: center; }
.ur-matrix th:last-child, .ur-matrix td:last-child { border-right: 0; }
.ur-matrix thead th { background: var(--ur-matrix-th); color: var(--ur-matrix-th-text); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; border-bottom: 2px solid var(--ur-line-table); }
.ur-matrix-area {
  position: sticky; left: 0; z-index: 2; background: var(--ur-card); text-align: left !important;
  min-width: 160px; font-weight: 650; color: var(--ur-origin-strong); border-right: 1px solid var(--ur-matrix-border) !important;
}
.ur-matrix tbody tr:hover .ur-matrix-area { background: var(--ur-hover); }
.ur-matrix tbody tr:last-child th,
.ur-matrix tbody tr:last-child td { border-bottom: 0; }

.ur-matrix-cell {
  width: 48px; height: 40px; border-radius: 10px; border: 1px solid var(--line);
  background: var(--ur-card); cursor: pointer; font-weight: 800; font-size: 16px; color: var(--muted);
}
.ur-matrix-cell.is-on { background: var(--green-soft); border-color: var(--green-border); color: var(--green); }
.ur-matrix-cell.is-off { background: var(--matrix-off-bg); border-color: var(--red-border); color: var(--red); }
.ur-matrix-cell.mode-grant.is-on { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--green) 27%, transparent); }
.ur-matrix-cell.mode-deny.is-off { background: var(--matrix-off-bg); border-color: var(--red-border); }
.ur-matrix-cell.is-critical.is-on { background: var(--matrix-critical-bg); border-color: var(--matrix-critical-border); color: var(--matrix-critical-text); }
.ur-matrix-cell.is-highlight { outline: 2px solid var(--blue); outline-offset: 1px; }
.ur-matrix-empty { color: var(--matrix-empty); }

.ur-singleton-list { display: grid; gap: 8px; margin-top: 14px; }
.ur-single-perm {
  display: flex; justify-content: space-between; gap: 12px; align-items: center;
  padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--ur-card);
}
.ur-single-perm strong { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--ur-heading); }
.ur-single-perm small { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
.ur-single-perm.is-highlight { border-color: var(--blue-border); background: var(--ur-selected); }

.ur-scope-block { margin-top: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--ur-soft-strong); }
.ur-scope-block h4 { margin: 0 0 6px; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.ur-scope-title { margin: 0 0 8px; font-weight: 650; font-size: 13px; color: var(--ur-text); }
.ur-scope-seg { width: 100%; }
.ur-scope-hint { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; }

.ur-deviation-groups { display: grid; gap: 14px; padding-top: 8px; }
.ur-deviation-groups h4 { margin: 0 0 8px; font-size: 13px; color: var(--ur-heading); }
.ur-deviation-groups ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.ur-deviation-groups li { padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; }
.ur-deviation-groups li.add { background: var(--dev-add-bg); border-color: var(--dev-add-border); color: var(--dev-add-text); }
.ur-deviation-groups li.rem { background: var(--dev-rem-bg); border-color: var(--dev-rem-border); color: var(--dev-rem-text); }

.ur-empty-state { text-align: center; padding: 48px 20px; color: var(--muted); }
.ur-empty-icon { width: 48px; height: 48px; border-radius: 999px; background: var(--green-soft); color: var(--green); display: grid; place-items: center; margin: 0 auto 12px; font-size: 22px; font-weight: 800; }
.ur-empty-state strong { display: block; color: var(--ur-empty-strong); font-size: 16px; margin-bottom: 6px; }
.ur-empty-state p { margin: 0; line-height: 1.45; max-width: 28rem; margin-inline: auto; }

.ur-popover-backdrop {
  position: fixed; inset: 0; z-index: 100060; background: var(--ur-popover-backdrop);
  display: grid; place-items: center; padding: 20px;
}
.ur-popover {
  width: min(380px, 100%); background: var(--ur-card); border: 1px solid var(--line);
  border-radius: 12px; box-shadow: var(--shadow); padding: 16px; display: grid; gap: 10px;
  color: var(--ur-text);
}
.ur-popover h4 { margin: 0; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.ur-popover-status { margin: 0; font-weight: 700; }
.ur-popover-status.ok { color: var(--green); }
.ur-popover-status.bad { color: var(--red); }
.ur-popover-source { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ur-popover-source div { border: 1px solid var(--line); border-radius: 8px; padding: 8px; display: grid; gap: 2px; background: var(--ur-soft); }
.ur-popover-source span { font-size: 10px; color: var(--muted); text-transform: uppercase; }
.ur-popover-hint { margin: 0; font-size: 12px; color: var(--muted); line-height: 1.4; }
.ur-popover-edit { display: grid; gap: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.ur-popover-edit label { display: flex; gap: 8px; align-items: center; font-size: 13px; color: var(--ur-text); }

.ur-changebar-fixed {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 100040;
  background: var(--ur-changebar-bg); border-top: 1px solid var(--line);
  box-shadow: var(--ur-changebar-shadow); backdrop-filter: blur(8px);
  color: var(--ur-text);
}
.ur-changebar-inner {
  max-width: 1400px; margin: 0 auto; padding: 12px 20px;
  display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap;
}
body.regab-ur-active.regab-ur-has-changebar { padding-bottom: 72px; }

.ur-change-list { margin: 0; padding-left: 18px; }
.ur-change-list li.add { color: var(--green); }
.ur-change-list li.rem { color: var(--red); }

.ur-perm-list-compact { display: grid; gap: 6px; padding-top: 8px; max-height: none; overflow: visible; }

.ur-perm-bar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.ur-perm-bar h2 { margin: 4px 0 0; font-size: 16px; font-family: Manrope, sans-serif; color: var(--ur-heading); }

.ur-inline-label {
  display: grid;
  gap: 4px;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.ur-perm-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
  background: var(--ur-toolbar);
}

.ur-perm-list {
  overflow: visible;
  max-height: none;
  padding: 10px 16px 14px;
  display: grid;
  gap: 6px;
  align-content: start;
}

.ur-perm-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--ur-card);
}

.ur-perm-row.is-editing { border-color: var(--blue-border); background: var(--ur-selected); }

.ur-perm-copy strong {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  line-height: 1.3;
  color: var(--ur-heading);
}

.ur-perm-copy small { display: block; margin-top: 3px; color: var(--muted); line-height: 1.35; font-size: 12px; }

.ur-warn {
  display: inline-flex;
  align-items: center;
  padding: 1px 7px;
  border-radius: 999px;
  background: var(--warn-bg);
  color: var(--warn-text);
  border: 1px solid var(--warn-border);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.ur-ok-text { color: var(--green); font-weight: 700; }
.ur-bad-text { color: var(--red); font-weight: 700; }

.ur-tech {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  color: var(--ur-tech);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.ur-choice {
  display: inline-flex;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
}

.ur-choice button {
  border: 0;
  background: var(--ur-card);
  color: var(--muted);
  font: inherit;
  font-size: 11px;
  font-weight: 750;
  padding: 8px 10px;
  cursor: pointer;
}

.ur-choice button.is-on.role { background: var(--choice-role-bg); color: var(--choice-role-text); }
.ur-choice button.is-on.grant { background: var(--green-soft); color: var(--green); }
.ur-choice button.is-on.deny { background: var(--red-soft); color: var(--red); }
.ur-choice button:disabled { opacity: .45; cursor: not-allowed; }

.ur-check { width: 18px; height: 18px; accent-color: var(--blue); }

.ur-changebar {
  display: none;
}

.ur-timeline {
  display: grid;
  gap: 4px;
  flex: 1;
  min-height: 0;
  max-height: none;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--ur-scrollbar) transparent;
}
.ur-timeline::-webkit-scrollbar { width: 6px; }
.ur-timeline::-webkit-scrollbar-thumb { background: var(--ur-scrollbar); border-radius: 999px; }
.ur-timeline-item {
  padding: 6px 0;
  border-bottom: 1px solid var(--line);
}
.ur-timeline-item:last-child { border-bottom: 0; }
.ur-timeline-item strong { display: block; font-size: 12px; line-height: 1.3; color: var(--ur-heading); }
.ur-timeline-item small { color: var(--muted); font-size: 11px; }
.ur-activity-section {
  gap: 8px;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  height: calc(100vh - 220px);
  max-height: calc(100vh - 220px);
}
.ur-side:has(.ur-activity-section) .ur-side-body {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.ur-side-body {
  scrollbar-width: thin;
  scrollbar-color: var(--ur-scrollbar) transparent;
}
.ur-side-body::-webkit-scrollbar { width: 6px; }
.ur-side-body::-webkit-scrollbar-thumb { background: var(--ur-scrollbar); border-radius: 999px; }

.ur-roles { display: grid; gap: 8px; padding: 14px; }
.ur-role {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 12px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  cursor: pointer;
  background: var(--ur-card);
  color: var(--ur-text);
}
.ur-role.is-on { border-color: var(--blue-border); background: var(--ur-selected); }
.ur-role small { color: var(--muted); }

.ur-empty, .ur-loading { padding: 28px 16px; text-align: center; color: var(--muted); line-height: 1.45; }

.ur-backdrop {
  position: fixed; inset: 0; z-index: 100070;
  --ur-card: #ffffff;
  --ur-toolbar: #fbfcfd;
  --ur-soft-strong: #f7fafc;
  --ur-text: #172536;
  --ur-heading: #172536;
  --ur-muted: #6d7b8b;
  --ur-faint: #8a9aad;
  --ur-line: #e2e8ef;
  --ur-input: #ffffff;
  --ur-hover: #f7fafc;
  --ur-selected: #eef4ff;
  --blue: #3977ed;
  --blue-border: #c9dbff;
  --green: #1f8d61;
  --green-soft: #e8f7ef;
  --green-border: #b8e5cb;
  --red: #c2464d;
  --red-soft: #fff0f2;
  --red-border: #f1b7bc;
  --shadow: 0 18px 52px rgba(18, 34, 52, .24);
  --line: var(--ur-line);
  --muted: var(--ur-muted);
  background: rgba(10, 24, 40, .58);
  display: grid; place-items: center; padding: 20px;
}

html.theme-dark .ur-backdrop,
body.theme-dark .ur-backdrop {
  --ur-card: #10283d;
  --ur-toolbar: #0b1e31;
  --ur-soft-strong: #0b1e31;
  --ur-text: #edf6ff;
  --ur-heading: #f7fbff;
  --ur-muted: #a6b9cc;
  --ur-faint: #7f99b5;
  --ur-line: #244b70;
  --ur-input: #071827;
  --ur-hover: #12324c;
  --ur-selected: rgba(91, 156, 255, .16);
  --blue-border: #346a9e;
  background: rgba(2, 10, 18, .72);
}

.ur-modal {
  width: min(520px, 100%);
  background: var(--ur-card) !important;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow);
  padding: 18px;
  display: grid;
  gap: 12px;
  color: var(--ur-text);
}

.ur-modal h3 { margin: 0; color: var(--ur-heading); }
.ur-modal p { margin: 0; color: var(--muted); }
.ur-modal label { display: grid; gap: 6px; font-size: 13px; font-weight: 650; color: var(--ur-text); }
.ur-modal-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }

.ur-account-modal { width: min(640px, 100%); max-height: calc(100vh - 40px); overflow: auto; }
.ur-account-types { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ur-account-types button {
  appearance: none; border: 1px solid var(--line); border-radius: 10px; background: var(--ur-card);
  color: var(--ur-text); padding: 12px; text-align: left; display: grid; gap: 3px; cursor: pointer; font: inherit;
}
.ur-account-types button:hover { border-color: var(--blue-border); background: var(--ur-hover); }
.ur-account-types button.is-on { border-color: var(--blue); background: var(--ur-selected); box-shadow: inset 3px 0 0 var(--blue); }
.ur-account-types button:disabled { opacity: .5; cursor: not-allowed; }
.ur-account-types strong { color: var(--ur-heading); font-size: 14px; }
.ur-account-types small, .ur-field-hint { color: var(--muted); font-size: 11.5px; font-weight: 500; line-height: 1.4; }
.ur-account-fields { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--ur-toolbar); }
.ur-account-fields[hidden] { display: none; }
.ur-personnel-preview, .ur-result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ur-personnel-preview > div, .ur-result-grid > div {
  display: grid; gap: 3px; min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--ur-card);
}
.ur-personnel-preview span, .ur-result-grid span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.ur-personnel-preview strong, .ur-result-grid strong { color: var(--ur-heading); font-size: 12.5px; overflow-wrap: anywhere; }
.ur-account-note { display: grid; gap: 3px; padding: 11px 12px; border-radius: 9px; background: var(--ur-soft-strong); border: 1px solid var(--line); }
.ur-account-note strong { color: var(--ur-heading); font-size: 13px; }
.ur-account-note span { color: var(--muted); font-size: 12px; line-height: 1.4; }
.ur-account-note.is-success { background: var(--green-soft); border-color: var(--green-border); }
.ur-check-row { display: flex !important; align-items: center; gap: 8px !important; }
.ur-create-feedback { padding: 9px 11px; border-radius: 8px; background: var(--red-soft); border: 1px solid var(--red-border); color: var(--red); font-size: 12px; }
.ur-create-feedback[hidden] { display: none; }
.ur-modal label.is-invalid > .ur-input, .ur-modal label.is-invalid > .ur-select { border-color: var(--red); }

.ur-toast {
  position: fixed; right: 18px; bottom: 18px; z-index: 100080;
  max-width: 360px; padding: 12px 14px; border-radius: 10px;
  border: 1px solid var(--toast-ok-border); background: var(--toast-ok-bg); color: var(--green);
  font-weight: 650; box-shadow: var(--shadow);
}
.ur-toast.err { background: var(--red-soft); color: var(--red); border-color: var(--red-border); }


.ur-jf-hint {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--ur-hover);
  color: var(--ur-muted);
  font-size: 13px;
  line-height: 1.45;
}
.ur-jf-matrix .ur-matrix-area small {
  display: block;
  margin-top: 2px;
  color: var(--ur-muted);
  font-size: 11px;
  font-weight: 500;
}
.ur-jf-section-row th,
.ur-jf-section-row td {
  background: var(--ur-hover);
  vertical-align: middle;
}
.ur-jf-section-row.is-granted th,
.ur-jf-section-row.is-granted td {
  background: color-mix(in srgb, var(--ur-action, #2563eb) 10%, var(--ur-hover));
}
.ur-jf-collapse {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
.ur-jf-chevron {
  width: 1em;
  flex: 0 0 auto;
  color: var(--ur-muted);
}
.ur-jf-section-title {
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.ur-jf-section-meta {
  margin-left: auto;
  color: var(--ur-muted);
  font-size: 11px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  white-space: nowrap;
}
.ur-jf-page-row th.ur-matrix-area {
  padding-left: 28px;
  font-weight: 600;
}
.ur-matrix-cell.is-disabled {
  opacity: .45;
  cursor: not-allowed;
}

@media (max-width: 1180px) {
  .ur-grid { grid-template-columns: 1fr; }
  .ur-side { position: static; max-height: none; }
  .ur-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ur-perm { grid-template-columns: 1fr; }
  .ur-perm-nav { max-height: none; border-right: 0; border-bottom: 1px solid var(--line); display: flex; overflow-x: auto; }
  .ur-perm-nav button { white-space: nowrap; }
}

@media (max-width: 720px) {
  .ur-stats, .ur-kv, .ur-mini { grid-template-columns: 1fr; }
  .ur-account-types, .ur-personnel-preview, .ur-result-grid { grid-template-columns: 1fr; }
  .ur-perm-row { grid-template-columns: 1fr; }
  .ur-choice { width: 100%; }
  .ur-choice button { flex: 1; }
}


/* —— UX simplify: modal workspace & groups —— */
.ur-stack-danger { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--line); }

.ur-nav-group { display: grid; gap: 2px; margin-bottom: 10px; }
.ur-nav-group-label {
  font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ur-faint); padding: 8px 10px 4px;
}

.ur-editor-backdrop {
  position: fixed; inset: 0; z-index: 100055;
  background: var(--ur-editor-backdrop);
  display: grid; place-items: center; padding: 18px;
}

.ur-editor-modal {
  width: min(94vw, 1600px);
  height: min(92vh, 980px);
  background: var(--ur-card);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--ur-editor-shadow);
  display: flex; flex-direction: column;
  overflow: hidden;
  color: var(--ur-text);
}

.ur-editor-head {
  border-bottom: 1px solid var(--line);
  background: var(--ur-editor-head-grad);
  flex-shrink: 0;
}

.ur-editor-head-main {
  display: flex; justify-content: space-between; gap: 16px; align-items: flex-start;
  padding: 16px 18px 8px;
}
.ur-editor-head-main h2 { margin: 0; font-family: Manrope, "DM Sans", sans-serif; font-size: 22px; letter-spacing: -.02em; color: var(--ur-heading); }
.ur-editor-head-main p { margin: 6px 0 0; color: var(--muted); font-size: 13px; }

.ur-editor-toolbar,
.ur-editor-tools {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
  padding: 8px 18px 12px;
}

.ur-editor-tools { border-top: 1px solid var(--ur-editor-tools-border); background: var(--ur-toolbar); }

.ur-editor-counters {
  display: flex; flex-wrap: wrap; gap: 10px 14px;
  font-size: 12px; color: var(--muted);
}
.ur-editor-counters strong { color: var(--ur-action-text); }

.ur-edit-badge {
  display: inline-flex; align-items: center;
  min-height: 28px; padding: 0 10px; border-radius: 999px;
  background: var(--blue-soft); color: var(--blue); border: 1px solid var(--blue-border);
  font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
}

.ur-search-wrap-lg { flex: 1 1 280px; min-width: 220px; }
.ur-search-wrap-lg .ur-input { width: 100%; height: 42px; }

.ur-editor-body {
  flex: 1; min-height: 0; overflow: hidden;
  display: flex; flex-direction: column;
}

.ur-editor-body .ur-perm-workspace {
  min-height: 0; height: 100%;
  grid-template-columns: 220px minmax(0, 1fr);
}

.ur-editor-body .ur-perm-nav {
  max-height: none; height: 100%; overflow: auto;
}

.ur-editor-body .ur-perm-main,
.ur-editor-body .ur-perm-body {
  min-height: 0; height: 100%;
  overflow: auto;
}

.ur-editor-footer {
  flex-shrink: 0;
  display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap;
  padding: 12px 18px;
  border-top: 1px solid var(--line);
  background: var(--ur-editor-footer-bg);
  box-shadow: 0 -8px 20px rgba(31, 48, 67, .06);
  color: var(--ur-text);
}
.ur-editor-footer small { display: block; color: var(--muted); margin-top: 2px; font-size: 12px; }
.ur-changebar-actions { display: flex; gap: 8px; flex-wrap: wrap; }

.ur-advanced-block {
  margin-top: 14px; padding: 14px;
  border: 1px solid var(--warn-border); border-radius: 10px; background: var(--warn-block-bg);
}
.ur-advanced-block h4 { margin: 0 0 4px; font-size: 13px; color: var(--ur-heading); }
.ur-advanced-hint { margin: 0 0 10px; color: var(--warn-text); font-size: 12px; }
.ur-advanced-list { display: grid; gap: 8px; }
.ur-advanced-row {
  display: flex; justify-content: space-between; gap: 12px; align-items: center;
  padding: 10px 12px; border-radius: 8px; background: var(--ur-card); border: 1px solid var(--warn-row-border);
}
.ur-advanced-row strong { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--ur-heading); }
.ur-advanced-row small { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
.ur-advanced-actions { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }

.ur-details-toggle-wrap { margin-top: 14px; }
.ur-details-panel { margin-top: 10px; }
.ur-role-view-hint {
  margin: 0 0 12px; padding: 10px 12px; border-radius: 8px;
  background: var(--ur-soft); color: var(--muted); font-size: 13px;
}

.ur-stat { min-height: 72px; }
.ur-stat em { display: none; }

.ur-perm-nav button.is-on { box-shadow: none; }

.ur-side-stats { display: none !important; }

.ur-quick-section { padding: 12px; }
.ur-quick-wrap { position: relative; }
.ur-quick-wrap > .ur-btn { width: 100%; justify-content: center; }
.ur-quick-menu {
  position: absolute; left: 0; right: 0; bottom: calc(100% + 8px); z-index: 30;
  background: var(--ur-card); border: 1px solid var(--line); border-radius: 12px;
  box-shadow: 0 16px 40px rgba(31, 48, 67, .16);
  padding: 6px; display: grid; gap: 2px;
}
.ur-quick-item {
  border: 0; background: transparent; text-align: left;
  padding: 10px 12px; border-radius: 8px; font: inherit; font-size: 13px;
  font-weight: 650; color: var(--ur-action-text); cursor: pointer;
}
.ur-quick-item:hover { background: var(--ur-hover); }
.ur-quick-item.danger { color: var(--red); }
.ur-quick-item.danger:hover { background: var(--red-soft); }
.ur-quick-sep { height: 1px; background: var(--line); margin: 4px 6px; }

.ur-editor-head-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ur-module-head-compact { align-items: center; gap: 12px; }
.ur-preset-inline { padding: 0; border: 0; background: transparent; }
.ur-preset-inline .ur-preset-seg { width: auto; }
.ur-single-perm .ur-matrix-cell { flex-shrink: 0; }

@media (max-width: 1180px) {
  .ur-editor-modal { width: min(96vw, 1600px); height: min(94vh, 980px); }
  .ur-editor-body .ur-perm-workspace { grid-template-columns: 1fr; }
  .ur-editor-body .ur-perm-nav {
    max-height: 140px; border-right: 0; border-bottom: 1px solid var(--line);
    display: flex; flex-wrap: nowrap; overflow-x: auto; align-content: start;
  }
  .ur-nav-group { display: flex; gap: 4px; margin: 0; align-items: center; }
  .ur-nav-group-label { white-space: nowrap; padding: 4px 8px; }
}
