@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #242834;
  background: #f5f6f8;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --ink: #242834;
  --muted: #707582;
  --line: #e7e8ec;
  --panel: #fff;
  --sidebar: #171a22;
  --purple: #6255e7;
  --purple-dark: #5044d5;
  --purple-soft: #f0eefe;
  --green: #198673;
  --amber: #ce772d;
  --blue: #257fa9;
  --danger: #ba4d59;
  --shadow: 0 1px 2px rgba(26, 30, 41, .04), 0 8px 28px rgba(26, 30, 41, .05);
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: #f5f6f8; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
button, select { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(98, 85, 231, .2); outline-offset: 2px; }
.app-shell { min-height: 100vh; }

.sidebar {
  position: fixed; inset: 0 auto 0 0; z-index: 30; width: 242px; padding: 0 13px 16px;
  color: #aeb3c0; background: var(--sidebar); display: flex; flex-direction: column;
}
.brand { height: 76px; padding: 0 10px; display: flex; align-items: center; gap: 11px; color: white; border-bottom: 1px solid rgba(255,255,255,.07); margin-bottom: 14px; }
.brand-symbol { width: 35px; height: 35px; display: grid; place-items: center; color: white; background: var(--purple); border-radius: 10px 10px 10px 4px; box-shadow: 0 7px 20px rgba(98,85,231,.3); }
.brand > div { display: flex; align-items: baseline; gap: 6px; }
.brand strong { font: 800 18px/1 'Manrope', sans-serif; letter-spacing: -.4px; }
.brand small { font-size: 10px; font-weight: 700; letter-spacing: 1.6px; color: #858b9a; }
.sidebar-close { display: none !important; margin-left: auto; color: #9ca2af !important; }
.sidebar nav { flex: 1; }
.sidebar nav button, .sidebar-footer > button { width: 100%; height: 43px; border: 0; border-radius: 8px; padding: 0 12px; background: transparent; color: #9ca2af; display: flex; align-items: center; gap: 11px; font-size: 15px; font-weight: 500; text-align: left; transition: .18s ease; }
.sidebar nav button:hover, .sidebar-footer > button:hover { color: #eef0f4; background: rgba(255,255,255,.045); }
.sidebar nav button.active { background: rgba(110,96,239,.14); color: #e8e5ff; box-shadow: inset 3px 0 0 #7669f0; }
.sidebar nav button.active svg { color: #8b81f5; }
.sidebar nav button em { margin-left: auto; padding: 2px 7px; border-radius: 10px; background: rgba(118,105,240,.2); color: #a9a1fa; font-style: normal; font-size: 12px; }
.nav-label { display: block; padding: 10px 12px 7px; color: #626876; font-size: 11px; font-weight: 700; letter-spacing: 1.45px; text-transform: uppercase; }
.nav-label-spaced { margin-top: 15px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.06); }
.sidebar-footer { margin-top: auto; }
.support-card { margin-top: 13px; border: 1px solid rgba(255,255,255,.07); border-radius: 10px; background: #1d2029; padding: 14px; display: flex; flex-direction: column; align-items: flex-start; }
.support-icon { width: 30px; height: 30px; display: grid; place-items: center; color: #a69ff6; background: rgba(118,105,240,.13); border-radius: 8px; margin-bottom: 10px; }
.support-card strong { color: #e7e9ed; font-size: 14px; }
.support-card > span { font-size: 12px; color: #7f8593; line-height: 1.5; margin: 4px 0 10px; }
.support-card a { padding: 0; border: 0; background: none; color: #938af3; font-size: 12px; font-weight: 600; display: flex; align-items: center; gap: 3px; text-decoration: none; }

.main-area { padding-left: 242px; min-height: 100vh; }
.topbar { height: 64px; padding: 0 30px; position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; background: rgba(255,255,255,.94); border-bottom: 1px solid #e8e9ed; backdrop-filter: blur(12px); }
.workspace-switcher { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: #484c57; }
.workspace-mark { width: 28px; height: 28px; display: grid; place-items: center; color: #5d50dc; border-radius: 7px; background: #f0eefe; }
.topbar-actions { display: flex; align-items: center; gap: 9px; }
.source-pill { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #777c87; padding: 6px 9px; background: #f5f6f8; border-radius: 12px; }
.source-pill span { width: 6px; height: 6px; border-radius: 50%; background: #c98a2d; }
.source-pill.databricks span { background: #29987d; box-shadow: 0 0 0 3px rgba(41,152,125,.13); }
.icon-button { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid var(--line); background: #fff; border-radius: 8px; color: #626773; }
.icon-button:hover { background: #f7f7f9; color: #343845; }
.notification-button { position: relative; border: 0; }
.notification-button i { position: absolute; top: 8px; right: 8px; width: 5px; height: 5px; border-radius: 50%; background: #ef645f; box-shadow: 0 0 0 2px white; }
.profile-button { height: 45px; padding: 0 3px 0 7px; border: 0; background: transparent; display: flex; align-items: center; gap: 9px; border-left: 1px solid var(--line); margin-left: 3px; padding-left: 14px; }
.profile-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 96px; }
.profile-copy strong { font-size: 13px; }
.profile-copy small { color: #898e99; font-size: 11px; margin-top: 1px; }
.profile-menu { position: relative; }
.profile-menu > summary { list-style: none; cursor: pointer; }
.profile-menu > summary::-webkit-details-marker { display: none; }
.profile-dropdown { position: absolute; top: calc(100% + 8px); right: 0; z-index: 50; width: 230px; padding: 14px; display: grid; gap: 4px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 16px 45px rgba(24,28,38,.16); }
.profile-dropdown > strong { font-size: 14px; }
.profile-dropdown > span { color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; }
.profile-dropdown form { margin: 10px -14px -14px; padding: 8px; border-top: 1px solid var(--line); }
.profile-dropdown button { width: 100%; padding: 9px; border: 0; border-radius: 7px; background: transparent; color: var(--danger); text-align: left; font-size: 12px; font-weight: 600; }
.profile-dropdown button:hover { background: #fff2f3; }
.mobile-menu { display: none; }

.page-wrap { padding: 32px 32px 40px; max-width: 1680px; margin: 0 auto; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.eyebrow, .section-kicker { display: block; color: #7770dd; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 7px; }
.page-heading h1 { margin: 0; font: 800 27px/1.2 'Manrope', sans-serif; letter-spacing: -.65px; color: #252936; }
.page-heading p { margin: 7px 0 0; color: #7b808c; font-size: 15px; }
.heading-actions { display: flex; align-items: center; gap: 9px; }
.button { min-height: 37px; padding: 0 14px; border-radius: 8px; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 7px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.button.primary { color: white; background: var(--purple); border-color: var(--purple); box-shadow: 0 5px 14px rgba(98,85,231,.17); }
.button.primary:hover { background: var(--purple-dark); }
.button.danger { color: #fff; background: #bb4d59; border-color: #bb4d59; box-shadow: 0 5px 14px rgba(187,77,89,.16); }
.button.danger:hover { background: #a83f4b; }
.button.secondary { background: white; border-color: #dfe1e5; color: #585d69; }
.button.secondary:hover, .button.ghost:hover { background: #f8f8fa; }
.button.ghost { background: white; border-color: var(--line); color: #656a75; }
.button:disabled { cursor: not-allowed; opacity: .5; box-shadow: none; }
.text-button { padding: 0; border: 0; background: none; color: var(--purple); font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 2px; }
.text-button.danger { color: #ab4652; }
.spin { animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.panel { background: white; border: 1px solid var(--line); border-radius: 11px; box-shadow: var(--shadow); }
.content-stack { display: flex; flex-direction: column; gap: 20px; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.stat-card { min-height: 117px; padding: 20px; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: var(--shadow); display: flex; align-items: flex-start; position: relative; }
.stat-icon { flex: 0 0 auto; width: 39px; height: 39px; display: grid; place-items: center; border-radius: 9px; }
.stat-icon.violet { background: #efedfd; color: #6255e7; }
.stat-icon.blue { background: #e9f4f8; color: #247fa9; }
.stat-icon.green { background: #e8f5f1; color: #198673; }
.stat-icon.amber { background: #fbf1e7; color: #ce772d; }
.stat-copy { margin-left: 13px; display: grid; }
.stat-copy > span { color: #767b87; font-size: 12px; }
.stat-copy > strong { margin: 1px 0 3px; font: 800 23px/1.2 'Manrope', sans-serif; color: #2b2f3a; }
.stat-copy small { display: flex; align-items: center; gap: 2px; color: #348775; font-size: 11px; }
.stat-copy small.warning { color: #bd702d; }
.more-button { width: 29px; height: 29px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: #9a9eaa; border-radius: 6px; }
.more-button:hover { background: #f3f3f6; color: #555a66; }
.stat-card .more-button { position: absolute; top: 12px; right: 11px; }
.overview-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 14px; }
.overview-access, .recent-panel { padding: 22px; }
.panel-title-row { display: flex; align-items: center; justify-content: space-between; }
.panel-title-row h2 { margin: 0; font: 700 15px/1.2 'Manrope', sans-serif; letter-spacing: -.2px; }
.panel-title-row .section-kicker { margin-bottom: 5px; }
.genie-bars { display: flex; flex-direction: column; gap: 17px; margin-top: 22px; }
.genie-bar { display: flex; align-items: center; gap: 11px; }
.mini-genie { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: white; font-size: 13px; font-weight: 700; }
.bar-main { flex: 1; }
.bar-main > div:first-child { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 6px; }
.bar-main strong { color: #464b57; }
.bar-main span { color: #898e99; }
.bar-track { width: 100%; height: 5px; border-radius: 5px; background: #eff0f2; overflow: hidden; }
.bar-track i { display: block; height: 100%; border-radius: 5px; }
.compact-activity { margin-top: 19px; display: flex; flex-direction: column; }
.compact-activity > div { display: flex; gap: 10px; padding: 11px 0; border-bottom: 1px solid #eff0f2; }
.compact-activity > div:last-child { border: 0; }
.compact-activity p { margin: 1px 0 0; color: #777c87; font-size: 12px; line-height: 1.4; }
.compact-activity p strong, .compact-activity p b { color: #3c414c; font-weight: 600; }
.compact-activity p small { display: block; color: #a0a4ad; margin-top: 3px; font-size: 10px; }

.matrix-panel { overflow: hidden; }
.matrix-mode-bar { min-height: 52px; margin-bottom: 12px; padding: 8px 10px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: var(--shadow); }
.matrix-mode-bar > div { display: flex; padding: 3px; border-radius: 7px; background: #f1f1f4; }
.matrix-mode-bar button { height: 31px; padding: 0 13px; border: 0; border-radius: 6px; background: transparent; color: #777c87; display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; }
.matrix-mode-bar button.active { color: #5145d1; background: white; box-shadow: 0 1px 5px rgba(28,31,41,.1); }
.matrix-mode-bar button em { padding: 2px 5px; border-radius: 8px; background: #e7f5ef; color: #287a68; font-size: 10px; font-style: normal; text-transform: uppercase; letter-spacing: .4px; }
.matrix-mode-bar p { margin: 0; color: #8b8f99; font-size: 11px; }
.matrix-toolbar { padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid #ededef; }
.search-field { height: 36px; width: min(330px, 100%); display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid #dfe1e5; border-radius: 7px; background: #fff; color: #9397a1; transition: .18s; }
.search-field:focus-within { border-color: #aaa3ef; box-shadow: 0 0 0 3px rgba(98,85,231,.08); }
.search-field input { width: 100%; border: 0; outline: 0; background: transparent; color: #343844; font-size: 13px; }
.search-field input::placeholder { color: #a3a7b0; }
.search-field button { display: grid; place-items: center; padding: 0; border: 0; background: none; color: #999da7; }
.filter-row { display: flex; align-items: center; gap: 7px; }
.select-field { height: 36px; min-width: 142px; padding: 0 9px; display: flex; align-items: center; gap: 6px; color: #757a85; border: 1px solid #dfe1e5; border-radius: 7px; background: #fff; }
.select-field select { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: #606571; font-size: 12px; appearance: none; }
.matrix-summary { min-height: 39px; padding: 0 17px; background: #fafafb; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e9eaed; font-size: 11px; color: #8a8f99; }
.matrix-summary strong { color: #464b57; }
.legend { display: flex; align-items: center; gap: 16px; }
.legend span { display: flex; align-items: center; gap: 5px; }
.dot { width: 6px; height: 6px; display: inline-block; border-radius: 50%; }
.dot.owner { background: #6255e7; }
.dot.manage { background: #287fa9; }
.dot.run { background: #26917c; }
.dot.none { background: #bbbfc7; }
.matrix-scroll { width: 100%; overflow: auto; }
.access-table { width: 100%; min-width: 1120px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.access-table th { height: 76px; padding: 0 10px; background: #f8f8fa; color: #888d98; font-size: 11px; font-weight: 600; text-align: left; border-bottom: 1px solid #dedfe3; border-right: 1px solid #e7e8eb; }
.access-table th:not(.user-column) { width: 163px; }
.access-table td { height: 66px; padding: 0 10px; border-bottom: 1px solid #ececef; border-right: 1px solid #f0f0f2; background: #fff; }
.access-table tr:last-child td { border-bottom: 0; }
.access-table tbody tr:hover td { background: #fbfbfc; }
.access-table .user-column { width: 255px; position: sticky; left: 0; z-index: 3; box-shadow: 7px 0 12px -12px rgba(21,25,34,.45); }
.access-table th.user-column { z-index: 5; padding-left: 17px; }
.access-table td.user-column { padding-left: 17px; }
.user-cell { display: flex; align-items: center; gap: 10px; min-width: 0; }
.user-cell > div { min-width: 0; }
.user-cell strong { display: flex; align-items: center; min-width: 0; color: #3a3e49; font-size: 13px; font-weight: 600; white-space: nowrap; }
.user-cell small { display: block; max-width: 175px; margin-top: 3px; color: #8c909a; font-size: 11px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.user-department-abbreviation { display: block; max-width: 205px; margin-top: 2px; overflow: hidden; color: #777c87; font-size: 11px; font-weight: 700; line-height: 1.1; letter-spacing: .04em; text-overflow: ellipsis; white-space: nowrap; }
.avatar { flex: 0 0 auto; width: 31px; height: 31px; border-radius: 50%; display: inline-grid; place-items: center; font-size: 11px; font-weight: 700; border: 2px solid rgba(255,255,255,.8); }
.avatar-small { width: 29px; height: 29px; font-size: 10px; }
.avatar-0, .avatar-purple, .avatar-violet { color: #5a4fc0; background: #e8e5fb; }
.avatar-1, .avatar-blue { color: #307998; background: #e0f0f5; }
.avatar-2, .avatar-green { color: #287c6d; background: #dcf0e9; }
.avatar-3, .avatar-amber { color: #aa692f; background: #f8eadb; }
.avatar-4 { color: #aa526c; background: #f7e3ea; }
.status-badge { font-style: normal; margin-left: 6px; padding: 2px 5px; border-radius: 4px; font-size: 10px; font-weight: 600; }
.status-badge.pending { color: #a46528; background: #faeddd; }
.status-badge.inactive { color: #777b85; background: #ebebed; }
.genie-heading { display: flex; align-items: center; gap: 8px; }
.genie-heading > div { min-width: 0; flex: 1; }
.genie-heading strong { display: block; color: #4b505b; font-size: 11px; white-space: nowrap; }
.genie-heading small { display: block; max-width: 95px; margin-top: 3px; color: #a1a5ae; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.genie-heading button { padding: 0; border: 0; background: none; color: #a3a7b0; }
.genie-icon { --genie-color: #6255e7; flex: 0 0 auto; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; background: color-mix(in srgb, var(--genie-color) 12%, white); color: var(--genie-color); }
.genie-icon svg { width: 14px; height: 14px; stroke-width: 2; }
.permission-cell { width: 100%; height: 31px; padding: 0 7px; border-radius: 6px; display: flex; align-items: center; gap: 5px; border: 1px solid transparent; font-size: 10px; font-weight: 600; transition: .15s ease; }
.permission-cell > svg:first-child { width: 12px; height: 12px; }
.permission-cell .cell-chevron { width: 11px; height: 11px; margin-left: auto; opacity: .65; }
.permission-cell > i { margin-left: auto; width: 13px; height: 13px; border-radius: 4px; background: rgba(255,255,255,.7); display: grid; place-items: center; font-style: normal; font-size: 10px; }
.permission-cell > i + .cell-chevron { margin-left: 0; }
.permission-cell.owner { color: #5d51d1; border-color: #d8d4f7; background: #f0eefe; }
.permission-cell.manage { color: #237899; border-color: #cde5ed; background: #eaf5f8; }
.permission-cell.run { color: #267d6e; border-color: #cde7e0; background: #edf8f5; }
.permission-cell.none { color: #8f939c; border-color: #e1e2e5; background: #f8f8f9; }
.permission-cell:hover { transform: translateY(-1px); box-shadow: 0 3px 8px rgba(27,31,41,.08); filter: saturate(1.1); }
.permission-cell > em { padding: 2px 4px; margin-left: auto; border-radius: 4px; background: rgba(255,255,255,.72); font-size: 10px; font-style: normal; }
.permission-cell > em + .cell-chevron { margin-left: 0; }
.access-switch { flex: 0 0 auto; width: 22px; height: 13px; padding: 2px; border-radius: 8px; background: #d6d8dd; transition: .18s ease; }
.access-switch i { display: block; width: 9px; height: 9px; border-radius: 50%; background: white; box-shadow: 0 1px 2px rgba(0,0,0,.18); transition: .18s ease; }
.permission-cell:not(.none) .access-switch { background: currentColor; }
.permission-cell:not(.none) .access-switch i { transform: translateX(9px); }
.matrix-footer { height: 40px; padding: 0 17px; display: flex; align-items: center; justify-content: space-between; background: #fafafb; border-top: 1px solid #e9eaed; color: #969aa4; font-size: 10px; }
.matrix-footer span { display: flex; align-items: center; gap: 5px; }
.empty-state { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #a0a4ad; }
.empty-state h3 { color: #555a66; font-size: 15px; margin: 10px 0 2px; }
.empty-state p { margin: 0; font-size: 12px; }

.directory-panel { overflow: hidden; }
.directory-toolbar, .audit-toolbar { min-height: 65px; padding: 14px 17px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); }
.directory-table-wrap { overflow-x: auto; }
.directory-table { width: 100%; min-width: 920px; border-collapse: collapse; }
.directory-table th { height: 42px; padding: 0 18px; background: #fafafb; border-bottom: 1px solid var(--line); color: #898e98; font-size: 11px; font-weight: 600; text-align: left; }
.table-sort { padding: 0; display: inline-flex; align-items: center; gap: 5px; border: 0; color: inherit; background: transparent; font: inherit; font-weight: 700; cursor: pointer; }
.table-sort:hover { color: #5e54cf; }
.table-sort .sort-chevron { transition: transform .16s ease; }
.table-sort.asc .sort-chevron { transform: rotate(180deg); }
.table-sort.desc .sort-chevron { transform: rotate(0); }
.directory-table td { height: 67px; padding: 0 18px; border-bottom: 1px solid #eeeef0; color: #545965; font-size: 12px; }
.directory-table tbody tr:last-child td { border: 0; }
.directory-table tbody tr:hover { background: #fcfcfd; }
.directory-table .user-cell small { max-width: 220px; }
.people-table { min-width: 1180px; }
.org-cell { display: block; max-width: 230px; overflow: hidden; color: #5d626d; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.state-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 7px; border-radius: 10px; font-size: 10px; font-weight: 600; }
.state-pill i { width: 5px; height: 5px; border-radius: 50%; }
.state-pill.active { color: #247866; background: #eaf6f2; }
.state-pill.active i { background: #27927a; }
.state-pill.pending { color: #a2692d; background: #faf0e4; }
.state-pill.pending i { background: #d48a39; }
.state-pill.inactive { color: #767b85; background: #efeff1; }
.state-pill.inactive i { background: #989ca4; }
.group-stack { display: flex; }
.group-stack > span { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; margin-left: -5px; border: 2px solid white; color: white; font-size: 10px; font-weight: 700; }
.group-stack > span:first-child { margin-left: 0; }
.muted { color: #a0a4ad; }
.last-active { display: flex; align-items: center; gap: 5px; color: #7d828c; white-space: nowrap; }
.table-pagination { min-height: 54px; padding: 10px 17px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-top: 1px solid #e9eaed; background: #fafafb; color: #858a95; font-size: 11px; }
.pagination-summary strong { color: #474c57; }
.pagination-actions { display: flex; align-items: center; gap: 6px; }
.pagination-actions label { margin-right: 7px; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.pagination-actions select { height: 30px; padding: 0 24px 0 8px; border: 1px solid #dfe1e5; border-radius: 7px; color: #555b67; background: #fff; font: inherit; }
.pagination-button, .pagination-pages button { width: 30px; height: 30px; padding: 0; display: grid; place-items: center; border: 1px solid #dfe1e5; border-radius: 7px; color: #656b77; background: #fff; font-size: 11px; font-weight: 700; }
.pagination-button:not(:disabled):hover, .pagination-pages button:not(.active):hover { border-color: #aaa3ef; color: #5e54cf; background: #f7f6ff; }
.pagination-button:disabled { cursor: not-allowed; opacity: .4; }
.pagination-button.previous svg { transform: rotate(180deg); }
.pagination-pages { display: flex; align-items: center; gap: 4px; }
.pagination-pages button.active { border-color: #6255e7; color: #fff; background: #6255e7; }
.pagination-pages i { width: 22px; color: #9b9fa8; font-style: normal; text-align: center; }

.groups-layout { display: flex; flex-direction: column; gap: 16px; }
.group-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.group-card, .new-group-card { min-height: 213px; padding: 19px; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: var(--shadow); }
.group-card { cursor: pointer; transition: transform .17s ease, box-shadow .17s ease, border-color .17s ease; }
.group-card:hover { transform: translateY(-2px); border-color: #d8d5f0; box-shadow: 0 10px 30px rgba(26,30,41,.08); }
.group-card-top { display: flex; align-items: center; justify-content: space-between; }
.group-icon { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 9px; }
.group-icon.compact { width: 31px; height: 31px; flex: 0 0 auto; }
.group-card h3 { margin: 15px 0 5px; font: 700 15px 'Manrope', sans-serif; color: #3a3e49; }
.group-card > p { height: 30px; margin: 0; color: #898e98; font-size: 11px; line-height: 1.55; }
.group-card-members { display: flex; align-items: center; justify-content: space-between; margin-top: 15px; }
.group-card-members > span { color: #777c87; font-size: 11px; }
.avatar-pile { display: flex; }
.avatar-pile .avatar { width: 25px; height: 25px; font-size: 10px; margin-left: -6px; }
.avatar-pile .avatar:first-child { margin-left: 0; }
.group-card-footer { margin: 15px -19px -19px; height: 40px; padding: 0 19px; display: flex; align-items: center; justify-content: space-between; color: #898e98; font-size: 10px; border-top: 1px solid #eeeef0; background: #fbfbfc; border-radius: 0 0 11px 11px; }
.group-card-footer span { display: flex; align-items: center; gap: 5px; }
.group-card-footer > span:last-child { color: var(--purple); font-weight: 600; }
.new-group-card { border: 1px dashed #cfd1d7; box-shadow: none; background: rgba(255,255,255,.45); display: flex; flex-direction: column; align-items: center; justify-content: center; color: #777c87; }
.new-group-card:hover { border-color: #9e96eb; background: #faf9ff; }
.new-group-card > span { width: 38px; height: 38px; display: grid; place-items: center; color: var(--purple); border-radius: 9px; background: #eeecfd; }
.new-group-card strong { margin-top: 11px; color: #4e535f; font-size: 13px; }
.new-group-card small { margin-top: 4px; font-size: 10px; }
.group-tip { min-height: 68px; padding: 14px 17px; display: flex; align-items: center; gap: 12px; }
.group-tip > span { width: 37px; height: 37px; display: grid; place-items: center; color: #695dde; background: #f0eefe; border-radius: 9px; }
.group-tip > div { flex: 1; }
.group-tip strong { font-size: 12px; }
.group-tip p { margin: 3px 0 0; color: #898e98; font-size: 11px; }
.group-tip button { border: 0; background: none; color: var(--purple); display: flex; align-items: center; font-size: 11px; font-weight: 600; }

.audit-panel { overflow: hidden; }
.audit-toolbar > div { display: grid; gap: 4px; }
.audit-toolbar p { margin: 0; color: var(--muted); font-size: 11px; }
.audit-integrity { margin: 12px 17px 0; padding: 10px 12px; display: flex; align-items: flex-start; gap: 9px; border: 1px solid #cce6dc; border-radius: 9px; color: #28745d; background: #f2fbf7; }
.audit-integrity.invalid { border-color: #edc1bc; color: #9f4139; background: #fff5f3; }
.audit-integrity > span { display: grid; gap: 2px; }
.audit-integrity strong { font-size: 12px; }
.audit-integrity small { color: #747a85; font-size: 10px; line-height: 1.45; }
.audit-filters { min-height: 62px; padding: 11px 17px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); background: #fafafb; }
.audit-filters .search-field { width: min(420px, 100%); background: #fff; }
.audit-filters .select-field { margin-left: auto; background: #fff; }
.audit-date { height: 39px; padding: 0 20px; display: flex; align-items: center; gap: 12px; background: #fafafb; color: #6e737e; font-size: 11px; font-weight: 600; }
.audit-date i { flex: 1; height: 1px; background: #e6e7ea; }
.audit-list { padding: 0 20px; }
.audit-list article { min-height: 74px; display: grid; grid-template-columns: 34px 1fr auto 28px; align-items: center; gap: 11px; border-bottom: 1px solid #eeeef0; }
.audit-list article:last-child { border: 0; }
.audit-list p { margin: 0 0 5px; color: #777c87; font-size: 12px; }
.audit-list p strong, .audit-list p b { color: #404550; font-weight: 600; }
.audit-detail { display: inline-flex; padding: 3px 6px; border-radius: 4px; background: #f2f2f4; color: #7d828c; font-size: 10px; }
.audit-context { margin-top: 5px; display: flex; align-items: center; gap: 7px; }
.audit-context em { padding: 3px 6px; border-radius: 8px; color: #5f56cb; background: #f0efff; font-size: 10px; font-style: normal; font-weight: 800; letter-spacing: .35px; text-transform: uppercase; }
.audit-context small { color: #9a9ea7; font-size: 10px; }
.audit-list time { color: #999da6; font-size: 10px; white-space: nowrap; }

.overlay { position: fixed; inset: 0; z-index: 60; display: flex; justify-content: flex-end; }
.overlay-dismiss { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(18,20,27,.35); backdrop-filter: blur(1px); }
.drawer { position: relative; z-index: 1; width: min(420px, 100%); height: 100%; background: #fff; box-shadow: -18px 0 50px rgba(20,24,35,.14); animation: slideIn .23s ease-out; overflow: auto; }
@keyframes slideIn { from { transform: translateX(40px); opacity: .5; } }
.drawer-header { height: 84px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.drawer-header h2 { margin: 0; font: 700 17px 'Manrope', sans-serif; }
.drawer-person { margin: 21px 22px 13px; padding: 13px; display: flex; align-items: center; gap: 10px; background: #fafafb; border: 1px solid #eeeef0; border-radius: 9px; }
.drawer-person > div { display: flex; flex-direction: column; }
.drawer-person strong { font-size: 13px; }
.drawer-person small { margin-top: 3px; color: #8b8f99; font-size: 11px; }
.drawer-genie { margin: 0 22px 15px; padding: 13px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 9px; }
.drawer-genie > div { display: grid; gap: 2px; }
.drawer-genie span:not(.genie-icon) { color: #999da6; font-size: 10px; }
.drawer-genie strong { color: #444954; font-size: 12px; }
.drawer-genie small { color: #8b8f99; font-size: 10px; }
.inherited-note { margin: 0 22px 16px; padding: 11px; display: flex; gap: 9px; border-radius: 8px; background: #f1f7fa; color: #397c96; }
.inherited-note svg { flex: 0 0 auto; }
.inherited-note p { margin: 0; font-size: 11px; line-height: 1.5; }
.access-toggle-row { margin: 0 22px 14px; padding: 14px; display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--line); border-radius: 9px; background: #fafafb; }
.access-toggle-row > div { display: grid; gap: 3px; }
.access-toggle-row strong { font-size: 13px; }
.access-toggle-row small { color: var(--muted); font-size: 11px; }
.toggle-control input { position: absolute; opacity: 0; }
.toggle-control > span { display: block; width: 40px; height: 22px; padding: 3px; border-radius: 14px; background: #cfd2d8; transition: .2s ease; cursor: pointer; }
.toggle-control > span i { display: block; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.24); transition: .2s ease; }
.toggle-control.on > span { background: var(--green); }
.toggle-control.on > span i { transform: translateX(18px); }
.toggle-control input:disabled + span { cursor: not-allowed; opacity: .55; }
.direct-access-note { margin: 0 22px; color: #818692; font-size: 11px; line-height: 1.5; }
.access-data-preview { margin: 14px 22px 0; padding: 13px; display: grid; gap: 7px; border: 1px solid #e1e5ec; border-radius: 9px; background: #fbfcfd; }
.access-data-preview > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.access-data-preview > div span { color: #787e89; font-size: 11px; }
.access-data-preview > div strong { font-size: 12px; }
.access-data-preview > small { display: flex; align-items: center; gap: 5px; min-width: 0; color: #626875; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.access-data-preview > small b { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; font-weight: 500; }
.access-data-preview > small .classification-badge { flex: 0 0 auto; padding: 3px 5px; font-size: 10px; }
.access-data-preview .text-button { margin-top: 3px; }
.uc-correction-actions { margin: 14px 22px 0; padding: 13px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 10px; border: 1px solid #e0def4; border-radius: 9px; background: #f9f8ff; }
.uc-correction-actions > div { min-width: 0; display: grid; gap: 3px; }
.uc-correction-actions strong { color: #4c5160; font-size: 12px; }
.uc-correction-actions small { color: #838895; font-size: 10px; line-height: 1.4; }
.uc-correction-actions .text-button { grid-column: 2; justify-self: end; }
.permission-options.disabled { opacity: .45; pointer-events: none; }
.readonly-badge { padding: 7px 10px; color: #777c87; background: #f0f1f3; border-radius: 8px; font-size: 12px; font-weight: 600; }
.permission-options { margin: 22px; padding: 0; border: 0; }
.permission-options legend { margin-bottom: 9px; color: #4e535e; font-size: 12px; font-weight: 600; }
.permission-options label { min-height: 66px; padding: 10px; margin-bottom: 8px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 9px; cursor: pointer; transition: .15s; }
.permission-options label:hover { border-color: #c7c3ef; }
.permission-options label.selected { border-color: #8f86ea; background: #fbfaff; box-shadow: 0 0 0 2px rgba(98,85,231,.07); }
.permission-options input { position: absolute; opacity: 0; pointer-events: none; }
.radio-visual { flex: 0 0 auto; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 7px; }
.radio-visual svg { width: 14px; }
.radio-visual.owner { color: #5d51d1; background: #efedfd; }
.radio-visual.manage { color: #237899; background: #eaf5f8; }
.radio-visual.run { color: #267d6e; background: #edf8f5; }
.radio-visual.none { color: #8f939c; background: #f0f0f2; }
.permission-option-copy { flex: 1; display: flex; flex-direction: column; }
.permission-option-copy strong { color: #444954; font-size: 12px; }
.permission-option-copy small { margin-top: 3px; color: #90949e; font-size: 10px; }
.permission-options label > i { width: 17px; height: 17px; border: 1px solid #d4d6db; border-radius: 50%; display: grid; place-items: center; color: white; font-style: normal; }
.permission-options label.selected > i { background: var(--purple); border-color: var(--purple); }
.drawer-footer { position: sticky; bottom: 0; padding: 14px 22px; display: flex; justify-content: flex-end; gap: 8px; background: rgba(255,255,255,.96); border-top: 1px solid var(--line); }
.access-journey-drawer { width: min(620px, 100%); }
.journey-group { align-items: center; }
.journey-group > div:nth-child(2) { min-width: 0; flex: 1; }
.journey-member-pile { display: flex !important; flex-direction: row !important; }
.journey-member-pile .avatar { width: 27px; height: 27px; margin-left: -7px; border: 2px solid #fff; font-size: 10px; }
.journey-member-pile .avatar:first-child { margin-left: 0; }
.access-journey-flow { margin: 0 22px 15px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid #e2e4e8; border-radius: 10px; }
.access-journey-flow article { min-width: 0; min-height: 100px; padding: 11px; display: grid; align-content: start; gap: 6px; border-right: 1px solid #e7e8ec; background: #fafafb; }
.access-journey-flow article:last-child { border-right: 0; }
.access-journey-flow article > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 12px; }
.access-journey-flow article > div { min-width: 0; display: grid; gap: 4px; }
.access-journey-flow article strong { color: #4a505c; font-size: 11px; }
.access-journey-flow article small { color: #858b96; font-size: 10px; line-height: 1.4; overflow-wrap: anywhere; }
.access-journey-flow article.confirmed > span { color: #247a68; background: #e6f4ef; }
.access-journey-flow article.pending > span { color: #8a642c; background: #faeddc; }
.access-journey-flow article.divergent > span { color: #a44752; background: #fbeaec; }
.permission-options.compact { margin-block: 15px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.permission-options.compact legend { grid-column: 1 / -1; }
.permission-options.compact label { min-height: 78px; margin: 0; padding: 9px; }
.permission-options.compact .permission-option-copy small { line-height: 1.35; }
.journey-profile, .journey-preview { margin: 15px 22px; padding: 14px; border: 1px solid #e1e3e8; border-radius: 10px; background: #fff; }
.journey-profile.disabled { opacity: .45; pointer-events: none; }
.journey-profile > div:first-child { display: grid; gap: 3px; }
.journey-profile > div:first-child strong, .journey-preview header strong { color: #464c58; font-size: 13px; }
.journey-profile > div:first-child small, .journey-preview header small { color: #868c97; font-size: 10px; line-height: 1.45; }
.data-profile-options { margin-top: 10px; display: grid; gap: 7px; }
.data-profile-options label { min-height: 56px; padding: 9px 10px; display: flex; align-items: center; gap: 9px; border: 1px solid #e1e3e8; border-radius: 8px; cursor: pointer; }
.data-profile-options label.selected { border-color: #9188eb; background: #faf9ff; box-shadow: 0 0 0 2px rgba(98,85,231,.06); }
.data-profile-options input { position: absolute; opacity: 0; }
.data-profile-options label > span { width: 29px; height: 29px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; color: #6255e7; background: #efedfd; }
.data-profile-options label > div { min-width: 0; flex: 1; display: grid; gap: 3px; }
.data-profile-options strong { color: #4b515d; font-size: 12px; }
.data-profile-options small { color: #898f9a; font-size: 10px; line-height: 1.4; }
.data-profile-options label > i { width: 18px; height: 18px; display: grid; place-items: center; border: 1px solid #d7d9de; border-radius: 50%; color: #fff; font-style: normal; }
.data-profile-options label.selected > i { border-color: var(--purple); background: var(--purple); }
.journey-preview header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.journey-preview header > div { display: grid; gap: 3px; }
.journey-column-list { max-height: 250px; margin-top: 10px; overflow-y: auto; border-top: 1px solid #eceef1; }
.journey-column-list > div { min-height: 48px; padding: 8px 2px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #eceef1; }
.journey-column-list > div > span { min-width: 0; display: grid; gap: 2px; }
.journey-column-list strong { color: #4b515d; font: 650 11px/1.35 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.journey-column-list small { color: #9297a1; font-size: 10px; overflow-wrap: anywhere; }
.journey-column-list .matrix-data-status { flex: 0 0 auto; }
.journey-more, .journey-empty { display: block; padding: 12px 2px 0; color: #8b909b; font-size: 10px; }
.journey-people-list { margin-top: 10px; padding-top: 8px; display: grid; gap: 2px; border-top: 1px solid #eceef1; }
.journey-people-list > div { min-height: 46px; display: flex; align-items: center; gap: 8px; }
.journey-people-list > div > span:nth-child(2) { min-width: 0; flex: 1; display: grid; gap: 2px; }
.journey-people-list strong { overflow: hidden; color: #4b515d; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.journey-people-list small { overflow: hidden; color: #9297a1; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.journey-people-list > small { padding: 6px 0; color: #898f9a; font-size: 10px; }
.journey-table-diagnostics { margin: 10px 0; padding: 10px; display: grid; gap: 7px; border: 1px solid #edc9a6; border-radius: 8px; background: #fff8ef; }
.journey-table-diagnostics > strong { color: #855d2c; font-size: 11px; }
.journey-table-diagnostics > div { display: flex; align-items: flex-start; gap: 6px; color: #9a6731; }
.journey-table-diagnostics > div > span { min-width: 0; display: grid; gap: 2px; }
.journey-table-diagnostics b { color: #765631; font: 650 10px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.journey-table-diagnostics small { color: #98785a; font-size: 10px; line-height: 1.4; }
.access-verification-modal > .journey-table-diagnostics { margin-inline: 21px; }
.access-verification-modal { width: min(720px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; }
.journey-result { margin: 17px 21px 0; padding: 13px; display: flex; align-items: center; gap: 10px; border: 1px solid #e2e4e8; border-radius: 9px; }
.journey-result > div { display: grid; gap: 3px; }
.journey-result strong { font-size: 14px; }
.journey-result small { font-size: 11px; }
.journey-result.confirmed { color: #267867; border-color: #badfd5; background: #f1faf7; }
.journey-result.pending { color: #88602c; border-color: #ead0ad; background: #fff8ef; }
.journey-result.divergent { color: #9b4651; border-color: #edc5ca; background: #fff5f6; }
.journey-layer-list { margin: 13px 21px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.journey-layer-list article { min-height: 70px; padding: 11px; display: flex; align-items: flex-start; gap: 8px; border: 1px solid #e3e5e9; border-radius: 8px; }
.journey-layer-list article > span { flex: 0 0 auto; }
.journey-layer-list article > div { min-width: 0; flex: 1; display: grid; gap: 4px; }
.journey-layer-list strong { color: #4b515d; font-size: 12px; }
.journey-layer-list small { color: #858b96; font-size: 10px; line-height: 1.4; }
.journey-layer-list em { padding: 3px 6px; border-radius: 8px; font-size: 10px; font-style: normal; font-weight: 700; }
.journey-layer-list article.confirmed em { color: #277867; background: #e7f5f0; }
.journey-layer-list article.pending em { color: #89612c; background: #faeddc; }
.journey-layer-list article.divergent em { color: #9c4b55; background: #fbeaec; }
.access-verification-modal > .journey-column-list { margin: 0 21px; padding-inline: 11px; border: 1px solid #e5e6ea; border-radius: 9px; }
.access-verification-modal > .journey-empty { margin: 0 21px; padding: 12px; border: 1px solid #e5e6ea; border-radius: 9px; }
.journey-errors { margin: 0 21px 12px; padding: 10px; border: 1px solid #edc5ca; border-radius: 8px; color: #9b4651; background: #fff5f6; }
.journey-errors p { margin: 0 0 5px; display: flex; align-items: flex-start; gap: 6px; font-size: 10px; line-height: 1.45; }
.journey-errors p:last-child { margin-bottom: 0; }
.access-verification-modal > .modal-actions { margin: 18px 0 0; }

.genie-page { gap: 14px; }
.genie-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.genie-stats > div { min-height: 78px; padding: 15px 17px; display: flex; align-items: center; gap: 11px; background: white; border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); }
.genie-stats p { margin: 0; display: flex; flex-direction: column; }
.genie-stats strong { font: 800 19px/1.2 'Manrope', sans-serif; color: #303440; }
.genie-stats small { color: #858a95; font-size: 11px; margin-top: 2px; }
.genie-catalog { overflow: hidden; }
.catalog-toolbar { min-height: 72px; padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.catalog-toolbar h2 { margin: 0; font: 700 14px 'Manrope', sans-serif; }
.catalog-toolbar .section-kicker { margin-bottom: 4px; }
.genie-management-grid { padding: 15px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; background: #fafafb; }
.genie-management-card { padding: 17px; min-width: 0; border: 1px solid #e4e5e9; border-radius: 10px; background: white; cursor: pointer; transition: transform .17s ease, border-color .17s ease, box-shadow .17s ease; }
.genie-management-card:hover { transform: translateY(-2px); border-color: #cfcaf1; box-shadow: 0 9px 28px rgba(28,31,42,.08); }
.genie-card-header { display: flex; align-items: center; gap: 8px; }
.genie-card-header .more-button { margin-left: auto; }
.genie-state { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border-radius: 10px; color: #267d6e; background: #eaf6f2; font-size: 10px; font-weight: 600; }
.genie-state i { width: 5px; height: 5px; border-radius: 50%; background: #26917c; }
.genie-state.review { color: #a66b2c; background: #fbf0e3; }
.genie-state.review i { background: #d68535; }
.genie-state.certified { color: #1c7661; background: #e7f6f0; }
.genie-state.certified i { background: #209276; }
.genie-state.deprecated { color: #a1453d; background: #fdecea; }
.genie-state.deprecated i { background: #c5574d; }
.genie-management-card h3 { margin: 12px 0 4px; font: 700 15px 'Manrope', sans-serif; color: #373b47; }
.genie-management-card > p { height: 30px; margin: 0; color: #858a95; font-size: 11px; line-height: 1.5; }
.genie-context { margin-top: 12px; padding: 9px 10px; display: grid; gap: 7px; border-radius: 7px; background: #f8f8fa; }
.genie-context span { min-width: 0; display: flex; align-items: center; gap: 6px; color: #858a95; font-size: 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.genie-context b { color: #575c67; font-weight: 600; }
.genie-metrics { margin: 13px 0; display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid #eeeef1; }
.genie-metrics div { padding: 10px 5px; display: flex; flex-direction: column; align-items: center; border-right: 1px solid #eeeef1; }
.genie-metrics div:last-child { border: 0; }
.genie-metrics strong { color: #424752; font-size: 13px; }
.genie-metrics span { margin-top: 2px; color: #999da6; font-size: 10px; }
.genie-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.genie-card-footer > span { min-width: 0; display: flex; align-items: center; gap: 7px; }
.genie-card-footer small { display: flex; flex-direction: column; color: #999da6; font-size: 10px; }
.genie-card-footer small b { max-width: 145px; color: #626773; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.genie-detail-drawer { width: min(690px, 100%); }
.genie-detail-hero { padding: 15px 22px; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid var(--line); background: #fafafb; }
.genie-detail-hero > div { flex: 1; }
.genie-detail-hero p { margin: 0 0 5px; color: #696e79; font-size: 12px; }
.detail-tabs { padding: 0 18px; display: flex; gap: 4px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.detail-tabs button { height: 43px; padding: 0 10px; position: relative; border: 0; background: transparent; color: #858a95; font-size: 11px; font-weight: 600; white-space: nowrap; }
.detail-tabs button.active { color: var(--purple); }
.detail-tabs button.active::after { content: ''; position: absolute; right: 8px; bottom: -1px; left: 8px; height: 2px; background: var(--purple); }
.genie-detail-body { padding: 20px 22px 30px; }
.genie-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.genie-summary-grid > div { min-height: 73px; padding: 12px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 8px; }
.genie-summary-grid span { color: #969aa4; font-size: 10px; }
.genie-summary-grid strong { margin-top: 5px; color: #464b56; font-size: 12px; overflow-wrap: anywhere; }
.genie-summary-grid small { margin-top: 3px; color: #9ea2ab; font-size: 10px; }
.detail-section { margin-top: 3px; }
.genie-summary-grid + .detail-section { margin-top: 22px; }
.detail-section-title { min-height: 42px; display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.detail-section-title h3 { margin: 0; color: #444954; font: 700 13px 'Manrope', sans-serif; }
.detail-section-title p { margin: 3px 0 0; color: #92969f; font-size: 10px; }
.detail-section-title > span { color: #7770dd; font-size: 10px; font-weight: 600; }
.governance-summary { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: 9px; }
.governance-summary > div { min-height: 85px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 1px solid var(--line); color: #7770dd; }
.governance-summary > div:last-child { border: 0; }
.governance-summary strong { margin: 4px 0 1px; color: #3f444f; font-size: 15px; }
.governance-summary span { color: #91959f; font-size: 10px; }
.source-list, .instruction-list, .question-list, .sql-example-list { display: flex; flex-direction: column; gap: 8px; }
.source-list article { padding: 12px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 8px; }
.source-list article > span { width: 31px; height: 31px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 7px; color: #247fa9; background: #e9f4f8; }
.source-list article > div { min-width: 0; flex: 1; }
.source-list strong { display: block; color: #454a55; font-size: 11px; overflow-wrap: anywhere; }
.source-list p { margin: 3px 0 0; color: #92969f; font-size: 10px; }
.source-list article > small { color: #999da6; font-size: 10px; white-space: nowrap; }
.source-list .source-kind { padding: 4px 6px; border-radius: 999px; color: #4a6270; background: #edf4f6; font-size: 10px; font-style: normal; white-space: nowrap; }
.instruction-list article { padding: 12px; display: flex; align-items: flex-start; gap: 9px; border: 1px solid var(--line); border-radius: 8px; background: #fdfdfe; }
.instruction-list article > span { width: 22px; height: 22px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 6px; background: #efedfd; color: #6255e7; font-size: 10px; font-weight: 700; }
.instruction-list p { margin: 2px 0 0; color: #5f6470; font-size: 11px; line-height: 1.55; }
.question-list article { padding: 11px 12px; display: flex; align-items: center; gap: 9px; border-radius: 8px; color: #5b5f6b; background: #f7f6fe; font-size: 11px; }
.question-list article svg { color: #6b60df; }
.sql-title { margin-top: 22px; }
.sql-example-list details { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.sql-example-list summary { padding: 11px; color: #535864; font-size: 11px; font-weight: 600; cursor: pointer; }
.sql-example-list pre { margin: 0; padding: 12px; overflow-x: auto; background: #20242d; color: #dfe5ee; font: 10px/1.6 ui-monospace, monospace; }
.knowledge-summary { margin-bottom: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.knowledge-summary span { padding: 7px 9px; border: 1px solid #e1dff1; border-radius: 8px; color: #6a657e; background: #faf9ff; font-size: 12px; }
.knowledge-summary strong { color: #544bc0; }
.knowledge-list { display: flex; flex-wrap: wrap; gap: 7px; }
.knowledge-list code { padding: 7px 9px; border: 1px solid #e0e2e7; border-radius: 7px; color: #4e5561; background: #f8f9fa; font-size: 12px; overflow-wrap: anywhere; }
.sql-example-list summary small { margin-left: 6px; color: #9499a3; font-weight: 500; }
.observability-card { margin-top: 16px; padding: 13px 15px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 10px; color: #666d79; background: #fafbfc; font-size: 13px; }
.observability-panel { margin-top: 18px; padding-top: 17px; border-top: 1px solid var(--line); }
.observability-metrics { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
.observability-metrics > div { min-height: 66px; display: grid; place-items: center; align-content: center; border-right: 1px solid var(--line); }
.observability-metrics > div:last-child { border-right: 0; }
.observability-metrics strong { color: #474d59; font-size: 17px; }
.observability-metrics span { color: #8a909b; font-size: 11px; }
.data-scope-note.warning { color: #8b5b1f; background: #fff9ed; border-color: #ecd9af; }
.detail-access-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.detail-access-columns > div { padding: 12px; border: 1px solid var(--line); border-radius: 9px; }
.detail-access-columns h4 { margin: 0 0 8px; display: flex; align-items: center; gap: 7px; color: #777c87; font-size: 10px; text-transform: uppercase; letter-spacing: 1px; }
.detail-access-columns h4 > em { min-width: 21px; height: 21px; padding: 0 6px; display: inline-grid; place-items: center; border-radius: 11px; color: #6255e7; background: #efedfd; font-style: normal; font-size: 11px; letter-spacing: 0; }
.detail-principal { min-height: 48px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #eeeef0; }
.detail-principal:last-child { border: 0; }
.detail-principal > span:nth-child(2) { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.detail-principal strong { color: #4a4f5a; font-size: 10px; }
.detail-principal small { margin-top: 2px; color: #999da6; font-size: 10px; overflow: hidden; text-overflow: ellipsis; }
.permission-tag { padding: 3px 5px; border-radius: 4px; font-size: 10px; font-style: normal; white-space: nowrap; }
.permission-tag.owner { color: #5d51d1; background: #efedfd; }
.permission-tag.manage { color: #237899; background: #eaf5f8; }
.permission-tag.run { color: #267d6e; background: #edf8f5; }
.permission-tag.none { color: #777c86; background: #eef0f2; }
.group-drawer { width: min(780px, 100vw); }
.group-governance-flow { margin: 0 22px 20px; padding: 11px 13px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #dedbed; border-radius: 9px; color: #665bd2; background: #f8f7fe; }
.group-governance-flow > span { display: inline-flex; align-items: center; gap: 5px; }
.group-governance-flow b { color: #555b67; font-size: 10px; }
.group-governance-flow > svg { color: #aaa5d5; }
.group-genie-access, .group-members-section { margin-top: 20px; }
.group-genie-list { padding: 0 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.group-genie-row { padding: 12px; display: grid; gap: 9px; border: 1px solid #dfe3e6; border-radius: 9px; background: #fff; }
.group-genie-row.disabled { background: #fafafa; }
.group-genie-main { display: flex; align-items: center; gap: 8px; }
.group-genie-main > div { min-width: 0; flex: 1; display: grid; gap: 3px; }
.group-genie-main strong { overflow: hidden; color: #424751; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.group-genie-main small { color: #90959e; font-size: 10px; }
.group-genie-data { min-height: 21px; display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.group-genie-data > span[data-group-classification] { display: contents; }
.group-genie-row > p { min-height: 29px; margin: 0; color: #7f848e; font-size: 10px; line-height: 1.4; }
.group-genie-row > .button { min-height: 29px; justify-self: start; padding-inline: 9px; font-size: 10px; }
.principal-table-pending { padding: 8px 9px; border-radius: 7px; color: #777d87; background: #f2f3f5; font-size: 10px; line-height: 1.4; }
.principal-table-pending.error { color: #99434d; background: #fff0f2; }
.principal-table-scope { border: 1px solid #e3e5e8; border-radius: 7px; background: #fbfbfc; }
.principal-table-scope summary { padding: 7px 9px; color: #5d6470; font-size: 10px; font-weight: 700; cursor: pointer; }
.principal-table-scope > div { max-height: 240px; padding: 0 8px 7px; overflow-y: auto; }
.principal-table-row { padding: 7px 1px; display: flex; align-items: center; gap: 5px; flex-wrap: wrap; border-top: 1px solid #e9eaed; }
.principal-table-row > span { width: 100%; min-width: 0; display: flex; align-items: center; gap: 5px; }
.principal-table-row > span svg { flex: 0 0 auto; color: #7770d9; }
.principal-table-row b { overflow: hidden; color: #505661; font-size: 10px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.principal-table-row .classification-badge { padding: 3px 5px; font-size: 10px; }
.table-treatment { padding: 3px 5px; border-radius: 8px; color: #6f747e; background: #eceef1; font-size: 10px; font-style: normal; font-weight: 700; }
.table-treatment.anonymized { color: #237866; background: #e5f5ef; }
.table-treatment.masked { color: #237866; background: #e5f5ef; }
.table-treatment.pseudonymized { color: #286f8c; background: #e6f2f7; }
.table-treatment.protected { color: #5d51c8; background: #eeecfc; }
.table-treatment.original { color: #a1414d; background: #fce8eb; }
.table-treatment.mixed { color: #986127; background: #fbefdf; }
.table-treatment.unprotected { color: #a1414d; background: #fce8eb; }
.principal-table-row > .uc-status { margin-left: auto; font-style: normal; }
.group-drawer-summary { margin: 20px 22px; padding: 14px; display: flex; align-items: center; gap: 11px; border: 1px solid var(--line); border-radius: 9px; background: #fafafb; }
.group-drawer-summary > div { display: flex; flex-direction: column; gap: 3px; }
.group-drawer-summary strong { color: #444954; font-size: 13px; }
.group-drawer-summary small { max-width: 280px; color: #898e98; font-size: 10px; line-height: 1.4; }
.member-heading { padding: 0 22px 12px; display: flex; align-items: center; justify-content: space-between; }
.member-heading > div { display: flex; flex-direction: column; gap: 3px; }
.member-heading span { color: #4e535e; font-size: 12px; font-weight: 600; }
.member-heading small { color: #999da6; font-size: 10px; }
.member-picker { margin: 0 22px 14px; padding: 10px; border: 1px solid #d9d6f2; border-radius: 9px; background: #faf9ff; }
.member-picker .search-field { width: 100%; background: white; }
.member-picker-list { max-height: 205px; margin-top: 7px; overflow-y: auto; }
.member-picker-list > button { width: 100%; padding: 7px 5px; border: 0; border-bottom: 1px solid #eeeeF3; background: transparent; display: flex; align-items: center; gap: 9px; text-align: left; border-radius: 6px; }
.member-picker-list > button:hover { background: white; }
.member-picker-list > button > span:nth-child(2) { flex: 1; display: flex; flex-direction: column; }
.member-picker-list strong { color: #444954; font-size: 11px; }
.member-picker-list small { margin-top: 2px; color: #92969f; font-size: 10px; }
.member-picker-list > button > svg { color: var(--purple); }
.member-picker-list > p { color: #8c909a; text-align: center; font-size: 11px; }
.member-list { border-top: 1px solid #eeeef0; }
.member-list > div:not(.empty-state) { min-height: 62px; padding: 0 22px; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid #eeeef0; }
.member-list > div > span:nth-child(2) { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.member-list > div > span:nth-child(2) strong { color: #444954; font-size: 11px; }
.member-list > div > span:nth-child(2) small { margin-top: 3px; color: #92969f; font-size: 10px; overflow: hidden; text-overflow: ellipsis; }
.remove-member { width: 28px; height: 28px; display: grid; place-items: center; border: 0; border-radius: 6px; color: #a35a62; background: transparent; }
.remove-member:hover { background: #fff0f1; }

.modal-overlay { position: fixed; inset: 0; z-index: 70; display: grid; place-items: center; padding: 20px; }
.modal-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(18,20,27,.42); backdrop-filter: blur(2px); }
.modal { position: relative; z-index: 1; width: min(490px, 100%); background: #fff; border-radius: 13px; box-shadow: 0 24px 70px rgba(17,20,29,.24); animation: modalIn .2s ease-out; }
.grant-modal { width: min(700px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; }
.grant-mode-switch { margin-bottom: 16px; padding: 4px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; border-radius: 9px; background: #f1f2f5; }
.grant-mode-switch button { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 0; border-radius: 7px; color: #727783; background: transparent; font-size: 13px; font-weight: 700; }
.grant-mode-switch button.active { color: #5549d2; background: #fff; box-shadow: 0 1px 5px rgba(30,34,45,.12); }
.grant-principal-panel { min-height: 220px; }
.grant-field { display: grid; gap: 7px; color: #555a65; font-size: 12px; font-weight: 700; }
.grant-field > select { width: 100%; height: 42px; padding: 0 10px; border: 1px solid #dcdee2; border-radius: 7px; color: #3f434e; background: #fff; font-size: 12px; }
.grant-field > small { color: #9297a1; font-size: 10px; font-weight: 500; line-height: 1.45; }
.grant-directory-search { width: 100%; margin: 0; }
.grant-directory-results { max-height: 245px; margin-top: 12px; overflow-y: auto; border: 1px solid #e5e6ea; border-radius: 9px; }
.grant-directory-results .directory-search-empty { min-height: 150px; }
.grant-directory-results .ldap-result:last-child { border-bottom: 0; }
.grant-directory-results .ldap-result:disabled { cursor: not-allowed; opacity: .55; }
.grant-directory-results .ldap-result > i.directory-only { color: #496a93; background: #edf3fa; }
.grant-selected-person { min-height: 78px; padding: 13px 15px; display: flex; align-items: center; gap: 11px; border: 1px solid #bcded4; border-radius: 9px; background: #f2faf7; }
.grant-selected-person > span:nth-child(2) { min-width: 0; flex: 1; display: grid; gap: 4px; }
.grant-selected-person strong { color: #3e434f; font-size: 13px; }
.grant-selected-person small { overflow: hidden; color: #7f8691; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.grant-selected-person > i { padding: 4px 7px; border-radius: 9px; color: #277966; background: #e3f3ee; font-size: 10px; font-style: normal; font-weight: 700; white-space: nowrap; }
.grant-target-field { margin-top: 16px; }
@keyframes modalIn { from { transform: translateY(8px) scale(.98); opacity: 0; } }
.modal-header { padding: 20px 21px 17px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); }
.modal-header h2 { margin: 0; font: 700 18px 'Manrope', sans-serif; }
.modal-header p { margin: 4px 0 0; color: #858a95; font-size: 12px; }
.modal form { padding: 20px 21px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.form-grid label { display: flex; flex-direction: column; gap: 6px; color: #555a65; font-size: 11px; font-weight: 600; }
.form-grid label.full { grid-column: 1 / -1; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; border: 1px solid #dcdee2; border-radius: 7px; padding: 9px 10px; outline: 0; color: #3f434e; background: white; font-size: 12px; resize: none; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color: #9e97eb; box-shadow: 0 0 0 3px rgba(98,85,231,.08); }
.form-note { margin-top: 15px; padding: 10px; display: flex; align-items: flex-start; gap: 8px; border-radius: 7px; background: #f5f4fd; color: #6962ad; font-size: 10px; line-height: 1.45; }
.form-note svg { flex: 0 0 auto; }
.modal-actions { margin: 20px -21px -20px; padding: 13px 21px; display: flex; justify-content: flex-end; gap: 8px; background: #fafafb; border-top: 1px solid var(--line); border-radius: 0 0 13px 13px; }
.access-impact-modal, .classification-impact-modal { width: min(720px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; }
.access-impact-summary { padding: 16px 21px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.classification-impact-summary { grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); }
.access-impact-summary article { min-height: 72px; padding: 12px; display: grid; align-content: center; gap: 3px; border: 1px solid #e5e6ea; border-radius: 9px; background: #fafafb; }
.access-impact-summary article.warning { border-color: #edc9a6; background: #fff8ef; }
.access-impact-summary strong { color: #3e4450; font: 750 18px 'Manrope', sans-serif; }
.access-impact-summary span { color: #818793; font-size: 11px; line-height: 1.35; }
.impact-basis { margin: 0 21px 13px; color: #858b96; font-size: 11px; line-height: 1.5; }
.access-impact-list { max-height: 290px; margin: 0 21px; overflow-y: auto; border: 1px solid #e5e6ea; border-radius: 9px; }
.access-impact-list > div { min-height: 48px; padding: 9px 11px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid #eceef1; }
.access-impact-list > div:last-child { border-bottom: 0; }
.access-impact-list > div > span { min-width: 0; display: flex; align-items: center; gap: 6px; }
.access-impact-list strong { overflow-wrap: anywhere; color: #4a505c; font: 650 11px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; }
.access-impact-list small { flex: 0 0 42%; color: #7f8590; font-size: 10px; line-height: 1.4; text-align: right; }
.access-impact-modal > .form-note { margin-inline: 21px; }
.access-impact-modal > .modal-actions, .classification-impact-modal > .modal-actions { margin: 18px 0 0; }
.impact-warning, .impact-acknowledgement { margin: 12px 21px 0; padding: 11px; display: flex; align-items: flex-start; gap: 9px; border: 1px solid #edc9a6; border-radius: 8px; color: #8d5f2d; background: #fff8ef; }
.impact-warning > span, .impact-acknowledgement > span { display: grid; gap: 3px; }
.impact-warning strong, .impact-acknowledgement strong { font-size: 11px; }
.impact-warning small, .impact-acknowledgement small { color: #98785a; font-size: 10px; line-height: 1.45; }
.impact-acknowledgement { cursor: pointer; }
.impact-acknowledgement input { flex: 0 0 auto; margin-top: 2px; accent-color: var(--purple); }
.toast { position: fixed; z-index: 100; right: 24px; bottom: 24px; padding: 11px 14px; display: flex; align-items: center; gap: 8px; color: white; background: #242934; border-radius: 8px; box-shadow: 0 10px 35px rgba(21,25,34,.25); font-size: 12px; animation: toastIn .25s ease-out; }
.toast svg { color: #71d6b3; }
@keyframes toastIn { from { transform: translateY(8px); opacity: 0; } }
.loading-state { min-height: 380px; display: flex; align-items: center; justify-content: center; gap: 6px; color: #8b909b; }
.loading-state > span { width: 6px; height: 6px; border-radius: 50%; background: #7970e7; animation: bounce .8s infinite alternate; }
.loading-state > span:nth-child(2) { animation-delay: .16s; }
.loading-state > span:nth-child(3) { animation-delay: .32s; }
.loading-state p { margin-left: 8px; font-size: 12px; }
.error-state { min-height: 360px; padding: 40px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: var(--danger); }
.error-state h3 { margin: 12px 0 5px; color: #454a55; font: 700 15px 'Manrope', sans-serif; }
.error-state p { max-width: 560px; margin: 0 0 16px; color: #858a95; font-size: 13px; }
.governance-callout { padding: 15px 18px; display: flex; align-items: center; gap: 12px; border: 1px solid #dfe6e3; border-radius: 11px; background: #f5faf8; color: #257866; }
.governance-callout > div { flex: 1; }
.governance-callout strong { color: #31574f; font-size: 13px; }
.governance-callout p { margin: 3px 0 0; color: #6e817c; font-size: 11px; }
.dashboard-empty { padding: 40px 8px; color: #9296a0; font-size: 12px; text-align: center; }
.health-panel { overflow: hidden; }
.health-summary { padding: 24px; display: flex; align-items: center; gap: 14px; border-bottom: 1px solid var(--line); }
.health-summary h2, .settings-card h2, .audit-toolbar h2 { margin: 0; font: 700 15px 'Manrope', sans-serif; }
.health-summary p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.health-main-icon { width: 43px; height: 43px; display: grid; place-items: center; color: var(--green); background: #e8f5f1; border-radius: 50%; }
.service-list article { min-height: 68px; padding: 0 24px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #eff0f2; }
.service-list article:last-child { border: 0; }
.service-dot { width: 9px; height: 9px; border-radius: 50%; background: #b5b8bf; }
.service-dot.online, .service-dot.configured { background: #28a17f; box-shadow: 0 0 0 4px rgba(40,161,127,.12); }
.service-dot.error { background: var(--danger); }
.service-list article > div { flex: 1; display: grid; gap: 3px; }
.service-list strong { font-size: 13px; }
.service-list small { color: var(--muted); font-size: 11px; }
.service-list em { color: var(--green); font-size: 11px; font-style: normal; font-weight: 600; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.settings-card { padding: 22px; }
.settings-card dl { margin: 18px 0 0; }
.settings-card dl > div { padding: 10px 0; display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid #eff0f2; }
.settings-card dt { color: var(--muted); font-size: 12px; }
.settings-card dd { margin: 0; color: #464b57; font-size: 12px; font-weight: 600; text-align: right; }
.settings-warnings { grid-column: 1 / -1; }
.settings-warnings p { display: flex; align-items: center; gap: 7px; color: #98652f; font-size: 12px; }
.access-model-card { background: linear-gradient(145deg, #ffffff, #f8f7ff); }
.access-role-flow { margin-top: 18px; display: grid; gap: 12px; }
.access-role-flow > div { padding: 13px; display: flex; align-items: flex-start; gap: 11px; border: 1px solid #e7e7ec; border-radius: 10px; background: rgba(255,255,255,.82); }
.role-icon { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; }
.role-icon.viewer { color: #277e70; background: #e9f5f2; }
.role-icon.administrator { color: #6255e7; background: #efedff; }
.access-role-flow p { margin: 0; display: grid; gap: 4px; }
.access-role-flow strong { color: #353946; font-size: 13px; }
.access-role-flow small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.system-access-card { grid-column: 1 / -1; padding: 0; overflow: hidden; }
.settings-card-heading { min-height: 92px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.settings-card-heading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.system-admin-list { display: grid; }
.system-admin-row { min-height: 82px; padding: 12px 22px; display: grid; grid-template-columns: 38px minmax(180px, 1fr) minmax(140px, auto) 74px; align-items: center; gap: 12px; border-bottom: 1px solid #eff0f2; }
.system-admin-row > div { min-width: 0; display: grid; gap: 2px; }
.system-admin-row strong, .system-admin-row small, .system-admin-row em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.system-admin-row strong { color: #3b3f4b; font-size: 13px; }
.system-admin-row small { color: #737985; font-size: 11px; }
.system-admin-row em { color: #9a9ea7; font-size: 10px; font-style: normal; }
.admin-source { justify-self: end; padding: 5px 8px; border-radius: 12px; color: #645bc0; background: #f0effc; font-size: 10px; font-weight: 700; }
.admin-protected { justify-self: end; color: #969aa3; font-size: 10px; font-weight: 600; }
.remove-system-admin { justify-self: end; color: #a34a55; background: #fdf1f2; }
.settings-policy-note { margin: 14px 22px 18px; padding: 10px 12px; display: flex; align-items: center; gap: 8px; border-radius: 8px; color: #5f5a91; background: #f5f4fd; font-size: 11px; }
.system-admin-modal { width: min(720px, calc(100vw - 28px)); }
.admin-safety-note { margin: 18px 24px; padding: 12px 14px; display: flex; align-items: flex-start; gap: 9px; border-radius: 9px; color: #4d6d66; background: #eef7f4; font-size: 12px; line-height: 1.5; }
.admin-safety-note svg { flex: 0 0 auto; }
.system-admin-results { max-height: 420px; overflow-y: auto; border-top: 1px solid var(--line); }
.system-admin-result { width: 100%; min-height: 76px; padding: 11px 24px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid #eff0f2; color: inherit; background: #fff; text-align: left; }
.system-admin-result:not(:disabled):hover { background: #faf9ff; }
.system-admin-result > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.system-admin-result strong, .system-admin-result small, .system-admin-result em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.system-admin-result strong { font-size: 13px; }
.system-admin-result small { color: #747985; font-size: 11px; }
.system-admin-result em { color: #969aa3; font-size: 10px; font-style: normal; }
.system-admin-result > i { padding: 5px 8px; border-radius: 12px; font-size: 10px; font-style: normal; font-weight: 700; }
.system-admin-result > i.available { color: #267b6b; background: #e8f5f1; }
.system-admin-result > i.unavailable { color: #8b8f99; background: #f0f1f3; }
.system-admin-result:disabled { cursor: not-allowed; opacity: .68; }
.data-scope-note { margin: 0 0 12px; padding: 10px 12px; display: flex; align-items: center; gap: 8px; color: #486d76; background: #eef6f7; border-radius: 8px; font-size: 11px; }
.source-list article { flex-wrap: wrap; }
.table-governance-button { margin-left: auto; padding: 6px 8px; display: flex; align-items: center; gap: 3px; border: 1px solid #e1e2e7; border-radius: 6px; color: #5d54c8; background: #fff; font-size: 10px; font-weight: 600; }
.table-governance-hero { margin: 20px 22px 14px; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: #fafafb; }
.table-governance-hero p { margin: 9px 0 4px; color: #555b67; font-size: 12px; line-height: 1.5; }
.table-governance-hero small { color: #8b909a; font-size: 10px; }
.classification-badge { display: inline-flex; padding: 5px 8px; border-radius: 12px; font-size: 11px; font-weight: 700; }
.classification-badge.red { color: #9a3f49; background: #fdebec; }
.classification-badge.amber { color: #996126; background: #fbf0e2; }
.classification-badge.blue { color: #2b718c; background: #e9f4f8; }
.classification-badge.green { color: #267d6e; background: #e8f5f1; }
.classification-badge.gray { color: #717681; background: #eceef1; }
.table-summary { margin-bottom: 14px; }
.protection-grid { margin: 0 22px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.protection-grid > div { min-height: 76px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 1px solid var(--line); text-align: center; }
.protection-grid > div:last-child { border: 0; }
.protection-grid strong { font: 700 17px 'Manrope', sans-serif; }
.protection-grid span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.sensitive-columns { border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.sensitive-columns article { min-height: 52px; padding: 9px 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); }
.sensitive-columns article:last-child { border: 0; }
.sensitive-columns article > div { display: grid; gap: 2px; }
.sensitive-columns strong { font-size: 11px; }
.sensitive-columns small { color: var(--muted); font-size: 10px; }
.column-label { padding: 4px 6px; border-radius: 6px; color: #9b6528; background: #fbf0e2; font-size: 10px; font-weight: 600; }
.column-label.masked { color: #2b718c; background: #e9f4f8; }
.column-label.anonymized { color: #267d6e; background: #e8f5f1; }
.empty-state.compact { min-height: 120px; }
.data-limitations { margin-top: 13px; padding: 11px; display: flex; align-items: flex-start; gap: 8px; color: #6c7180; background: #f4f5f7; border-radius: 8px; }
.data-limitations p { margin: 0; font-size: 10px; line-height: 1.5; }
/* Governança de identidade, acesso e exposição de dados */
.access-flow-guide { margin-bottom: 12px; padding: 12px 15px; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 12px; border: 1px solid #dfe5e9; border-radius: 10px; background: #f8fafb; box-shadow: var(--shadow); }
.access-flow-guide > div { min-width: 0; display: flex; align-items: center; gap: 9px; }
.access-flow-guide > div > span { width: 25px; height: 25px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--purple); font-size: 11px; font-weight: 800; }
.access-flow-guide p { margin: 0; display: grid; gap: 2px; }
.access-flow-guide strong { color: #444954; font-size: 11px; }
.access-flow-guide small { color: #858b96; font-size: 10px; line-height: 1.35; }
.access-flow-guide > svg { color: #b3b7bf; }
.mapping-notice { margin-bottom: 12px; padding: 10px 13px; display: flex; align-items: center; gap: 10px; border: 1px solid #dce5ec; border-radius: 9px; color: #537080; background: #f2f8fb; box-shadow: var(--shadow); }
.mapping-notice.error { border-color: #efced2; color: #99434d; background: #fff5f6; }
.mapping-notice.warning { border-color: #eadbbd; color: #916026; background: #fff9ef; }
.mapping-notice > span { min-width: 0; flex: 1; display: grid; gap: 2px; }
.mapping-notice strong { font-size: 11px; }
.mapping-notice small { color: #7d838d; font-size: 10px; }
.mapping-notice .button { min-height: 28px; padding-inline: 9px; font-size: 10px; }
.data-exposure { width: max-content; max-width: 100%; display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border-radius: 10px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.data-exposure.red { color: #a43e4a; background: #fdebed; }
.data-exposure.amber { color: #9a6428; background: #fbf0e2; }
.data-exposure.green { color: #277c6c; background: #e8f5f1; }
.data-exposure.blue { color: #2d718d; background: #e8f3f8; }
.data-exposure.gray { color: #747984; background: #eceef1; }
.genie-heading .data-exposure { margin-top: 4px; }
.genie-data-badges { min-height: 25px; margin: 11px 0 3px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.classification-gap { display: inline-flex; align-items: center; gap: 3px; padding: 4px 7px; border-radius: 10px; color: #966129; background: #fff5e8; font-size: 10px; font-weight: 700; }
.genie-governance-banner { margin: 18px 22px 0; padding: 11px 13px; display: flex; align-items: center; gap: 9px; border: 1px solid #e6e2cc; border-radius: 9px; background: #fffdf5; }
.genie-governance-banner > span:last-child { color: #77766e; font-size: 10px; }

.permission-cell.permission-select { height: 40px; padding: 5px 7px; }
.permission-select .permission-symbol { flex: 0 0 auto; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 6px; background: rgba(255,255,255,.7); }
.permission-select > span:nth-child(2) { min-width: 0; display: grid; text-align: left; }
.permission-select b { font-size: 10px; }
.permission-select small { max-width: 85px; overflow: hidden; text-overflow: ellipsis; color: currentColor; opacity: .72; font-size: 10px; white-space: nowrap; }
.matrix-data-status { width: max-content; max-width: 100%; margin-top: 3px; padding: 2px 5px; display: inline-flex; align-items: center; gap: 3px; overflow: hidden; border: 1px solid currentColor; border-radius: 9px; font-size: 10px; font-style: normal; font-weight: 700; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.matrix-data-status svg { flex: 0 0 auto; }
.matrix-data-status.anonymized { color: #237866; background: #e5f5ef; }
.matrix-data-status.masked { color: #237866; background: #e5f5ef; }
.matrix-data-status.identified { color: #a1414d; background: #fce8eb; }
.matrix-data-status.pseudonymized { color: #286f8c; background: #e6f2f7; }
.matrix-data-status.protected { color: #5d51c8; background: #eeecfc; }
.matrix-data-status.mixed, .matrix-data-status.partial { color: #986127; background: #fbefdf; }
.matrix-data-status.unprotected { color: #a1414d; background: #fce8eb; }
.matrix-data-status.unclassified, .matrix-data-status.unavailable, .matrix-data-status.unmapped, .matrix-data-status.checking, .matrix-data-status.blocked { color: #6f747e; background: #eceef1; }
.matrix-data-status.checking svg { animation: spin .9s linear infinite; }
.user-summary-button { width: 100%; padding: 0; display: flex; align-items: center; gap: 10px; border: 0; background: none; text-align: left; }
.user-summary-button > div { min-width: 0; flex: 1; }
.user-summary-button strong { display: flex; color: #3a3e49; font-size: 13px; }
.user-summary-button small { display: block; max-width: 175px; margin-top: 3px; color: #8c909a; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-summary-button > svg { color: #aaaeb7; }
.scope-badge { margin-left: 6px; padding: 2px 5px; border-radius: 5px; color: #9a6428; background: #fbf0e2; font-size: 10px; font-style: normal; }

.people-intro { min-height: 61px; margin-bottom: 13px; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; border: 1px solid #dde5e2; border-radius: 10px; background: #f5faf8; color: #237866; box-shadow: var(--shadow); }
.people-intro > div { display: flex; align-items: center; gap: 10px; }
.people-intro span { display: grid; gap: 2px; }
.people-intro strong { color: #335a51; font-size: 13px; }
.people-intro small { color: #71857f; font-size: 11px; }
.directory-table tr[data-user-row] { cursor: pointer; }
.user-access-button { min-height: 30px; padding-inline: 10px; font-size: 11px; }
.origin-summary { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.origin-summary span { display: inline-flex; align-items: center; gap: 3px; padding: 4px 6px; border-radius: 8px; font-size: 10px; font-weight: 600; }
.origin-summary .inherited { color: #257565; background: #e9f5f1; }
.origin-summary .direct { color: #9a6229; background: #fbf0e2; }
.origin-summary .none { color: #777b84; background: #eef0f2; }

.user-access-drawer { width: min(660px, 100vw); }
.user-access-hero { margin: 18px 22px 0; padding: 14px; display: flex; align-items: center; gap: 11px; border: 1px solid var(--line); border-radius: 10px; background: #fafafb; }
.user-access-hero > div { min-width: 0; flex: 1; display: grid; gap: 3px; }
.user-access-hero strong { overflow: hidden; color: #3e434e; font-size: 13px; text-overflow: ellipsis; }
.user-access-hero small { color: #8b909a; font-size: 10px; }
.user-access-hero .entitlement-state { width: max-content; padding: 3px 6px; border-radius: 999px; color: #1d745f; background: #eaf7f2; font-weight: 700; }
.user-access-hero .entitlement-state.blocked { color: #a64e43; background: #fff0ed; }
.user-access-hero .button { min-height: 31px; padding-inline: 10px; font-size: 10px; }
.user-organization { margin: 10px 22px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.user-organization div { padding: 9px 11px; display: grid; gap: 3px; border: 1px solid var(--line); border-radius: 8px; }
.user-organization span { color: #969aa4; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; }
.user-organization strong { overflow: hidden; color: #505560; font-size: 10px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.user-access-totals { margin: 12px 22px 0; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 9px; }
.user-access-totals div { min-height: 65px; display: grid; place-content: center; text-align: center; border-right: 1px solid var(--line); }
.user-access-totals div:last-child { border: 0; }
.user-access-totals strong { color: #3e434f; font: 700 16px 'Manrope', sans-serif; }
.user-access-totals span { color: #9296a0; font-size: 10px; }
.user-groups, .user-genie-access { margin: 20px 22px 0; }
.user-groups > div:last-child { display: flex; flex-wrap: wrap; gap: 6px; }
.user-groups > div:last-child > span { display: inline-flex; align-items: center; gap: 4px; padding: 5px 8px; border: 1px solid color-mix(in srgb, var(--group-color) 25%, white); border-radius: 12px; color: var(--group-color); background: color-mix(in srgb, var(--group-color) 7%, white); font-size: 10px; font-weight: 600; }
.user-access-row { margin-top: 9px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.user-access-main { display: flex; align-items: center; gap: 9px; }
.user-access-main > div { min-width: 0; flex: 1; display: grid; gap: 3px; }
.user-access-main strong { color: #414650; font-size: 12px; }
.user-access-main small { overflow: hidden; color: #8b909a; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.user-access-data { margin-top: 10px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.uc-status { display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border-radius: 10px; color: #6e737e; background: #eff0f2; font-size: 10px; font-weight: 700; }
.uc-status.allowed { color: #247764; background: #e8f5f1; }
.uc-status.partial { color: #966127; background: #fbf0e2; }
.uc-status.blocked { color: #a4414b; background: #fdebec; }
.exception-detail { margin-top: 9px; padding: 8px; display: flex; align-items: flex-start; gap: 6px; border-radius: 7px; color: #8b622e; background: #fff7ec; font-size: 10px; line-height: 1.4; }
.user-access-actions { margin-top: 10px; display: flex; justify-content: space-between; gap: 10px; }
.inherited-access-block { margin: 12px 22px 0; padding: 13px; border: 1px solid #dce9e5; border-radius: 9px; background: #f4faf8; }
.inherited-access-block > div { display: flex; align-items: center; gap: 8px; color: #267b69; }
.inherited-access-block > div span { display: grid; gap: 2px; }
.inherited-access-block strong { color: #345c53; font-size: 12px; }
.inherited-access-block small { color: #758a84; font-size: 10px; }
.inherited-access-block ul { margin: 10px 0; padding: 0; display: grid; gap: 5px; list-style: none; }
.inherited-access-block li { display: flex; align-items: center; justify-content: space-between; color: #596f69; font-size: 10px; }
.exception-fields { margin: 12px 22px; padding: 13px; display: grid; grid-template-columns: 1fr 145px; gap: 10px; border: 1px solid #eedfc9; border-radius: 9px; background: #fffaf3; }
.exception-fields label { display: grid; gap: 6px; color: #745f43; font-size: 10px; font-weight: 600; }
.exception-fields textarea, .exception-fields input { width: 100%; padding: 8px 9px; border: 1px solid #dfd9ce; border-radius: 7px; background: white; color: var(--ink); font-size: 11px; resize: vertical; }

.risk-compact { margin-top: 15px; display: grid; gap: 5px; }
.risk-compact button { width: 100%; padding: 9px 0; display: flex; align-items: center; gap: 9px; border: 0; border-bottom: 1px solid #eff0f2; background: none; text-align: left; }
.risk-compact button > i { width: 7px; height: 7px; border-radius: 50%; }
.risk-compact button > i.critical { background: #c24d59; }
.risk-compact button > i.warning { background: #d08739; }
.risk-compact button span { min-width: 0; flex: 1; display: grid; gap: 2px; }
.risk-compact strong { color: #454a55; font-size: 11px; }
.risk-compact small { overflow: hidden; color: #9296a0; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.risk-compact svg { color: #a5a9b1; }
.risk-page { display: grid; gap: 13px; }
.risk-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.risk-stats article { min-height: 83px; padding: 15px; display: flex; align-items: center; gap: 11px; border: 1px solid var(--line); border-radius: 10px; background: white; box-shadow: var(--shadow); }
.risk-icon { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 9px; }
.risk-icon.critical { color: #a9424c; background: #fdebed; }
.risk-icon.warning { color: #9a6428; background: #fbf0e2; }
.risk-icon.info { color: #5c52ce; background: #efedfd; }
.risk-stats strong { display: block; color: #343945; font: 700 18px 'Manrope', sans-serif; }
.risk-stats small { color: #8b909a; font-size: 10px; }
.risk-panel { overflow: hidden; }
.risk-panel-header { padding: 18px; border-bottom: 1px solid var(--line); }
.risk-panel-header h2 { margin: 0; font: 700 15px 'Manrope', sans-serif; }
.risk-panel-header p { margin: 4px 0 0; color: #858a95; font-size: 11px; }
.risk-list > button { width: 100%; min-height: 60px; padding: 11px 17px; display: flex; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid #eeeef0; background: white; text-align: left; }
.risk-list > button:hover { background: #fafafb; }
.risk-list > button > span:nth-child(2) { min-width: 0; flex: 1; display: grid; gap: 3px; }
.risk-list strong { color: #414650; font-size: 12px; }
.risk-list small { color: #8c919b; font-size: 10px; }
.risk-severity { width: 48px; padding: 4px 5px; border-radius: 8px; text-align: center; font-size: 10px; font-weight: 700; }
.risk-severity.critical { color: #a23f49; background: #fdebed; }
.risk-severity.warning { color: #986127; background: #fbf0e2; }

.copy-access-modal { width: min(560px, calc(100vw - 28px)); }
.copy-preview { min-height: 90px; margin-top: 14px; padding: 13px; border: 1px solid var(--line); border-radius: 9px; background: #fafafb; }
.copy-preview p { margin: 0; color: #858a95; font-size: 11px; }
.copy-preview > div { display: grid; gap: 3px; }
.copy-preview strong { color: #444955; font-size: 12px; }
.copy-preview small { color: #8e929c; font-size: 10px; }
.copy-preview ul { margin: 10px 0 0; padding: 0; display: grid; gap: 5px; list-style: none; }
.copy-preview li { padding: 7px 8px; display: flex; align-items: center; gap: 6px; border-radius: 7px; color: #555b66; background: white; font-size: 11px; }
.copy-preview li span { flex: 1; }
.copy-preview li em { padding: 3px 5px; border-radius: 7px; color: #966127; background: #fbf0e2; font-size: 10px; font-style: normal; }
.copy-preview .copy-skipped { margin-top: 9px; color: #a16b35; }
.detail-principal-button { width: 100%; border: 0; background: transparent; text-align: left; }
.directory-search-modal { width: min(760px, calc(100vw - 28px)); max-height: calc(100vh - 40px); overflow-y: auto; }
.ldap-email-form { padding: 0 22px 18px; display: grid; gap: 8px; }
.ldap-email-form > label { color: #555b67; font-size: 12px; font-weight: 700; }
.ldap-email-form > div { display: flex; align-items: center; gap: 10px; }
.ldap-email-form .ldap-search-field { flex: 1; margin: 0; }
.ldap-email-form > small { color: #8b909b; font-size: 10px; line-height: 1.5; }
.ldap-search-field { height: 46px; margin: 0 22px 15px; padding: 0 12px; display: flex; align-items: center; gap: 9px; border: 1px solid #d9dbe1; border-radius: 9px; background: #fff; }
.ldap-search-field:focus-within { border-color: #9e96ee; box-shadow: 0 0 0 3px rgba(98,85,231,.08); }
.ldap-search-field input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--ink); background: none; font-size: 13px; }
.ldap-search-field > span { color: #9196a0; font-size: 10px; }
.ldap-results { min-height: 300px; border-top: 1px solid var(--line); }
.directory-search-empty { min-height: 270px; padding: 25px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #9ba0aa; text-align: center; }
.directory-search-empty strong { margin: 8px 0 3px; color: #555a65; font-size: 13px; }
.directory-search-empty span { max-width: 360px; font-size: 11px; line-height: 1.5; }
.directory-search-empty.compact { min-height: 80px; padding: 15px; }
.directory-search-empty.error { color: #a6424c; }
.ldap-result { width: 100%; min-height: 67px; padding: 10px 22px; display: flex; align-items: center; gap: 11px; border: 0; border-bottom: 1px solid #ededf0; background: #fff; text-align: left; }
.ldap-result:hover { background: #fafaff; }
.ldap-result > span:nth-child(2) { min-width: 0; flex: 1; display: grid; gap: 2px; }
.ldap-result strong { color: #3e434f; font-size: 12px; }
.ldap-result small, .ldap-result em { overflow: hidden; color: #888e99; font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.ldap-result > i { padding: 4px 7px; border-radius: 9px; color: #267966; background: #e8f5f1; font-size: 10px; font-style: normal; font-weight: 700; }
.back-directory-search { margin: 14px 22px 5px; padding: 0; display: flex; align-items: center; gap: 4px; border: 0; color: #655add; background: none; font-size: 10px; font-weight: 700; }
.back-directory-search svg { transform: rotate(180deg); }
.directory-person-card { margin: 10px 22px; padding: 13px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 9px; background: #fafafb; }
.directory-person-card > div { min-width: 0; flex: 1; display: grid; gap: 2px; }
.directory-person-card strong { color: #3d424e; font-size: 13px; }
.directory-person-card small { color: #898e99; font-size: 10px; }
.directory-attributes { margin: 0 22px 12px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.directory-attributes > div { min-height: 57px; padding: 10px 12px; display: grid; align-content: center; gap: 3px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.directory-attributes > div:nth-child(2n) { border-right: 0; }
.directory-attributes > div:nth-last-child(-n+2) { border-bottom: 0; }
.directory-attributes dt { color: #9297a1; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; }
.directory-attributes dd { margin: 0; color: #4a4f5a; font-size: 11px; line-height: 1.35; }
.existing-user-note { margin: 0 22px 12px; padding: 10px 12px; display: flex; align-items: center; gap: 8px; border-radius: 8px; color: #287967; background: #edf8f5; }
.existing-user-note span { display: grid; gap: 2px; }
.existing-user-note strong { font-size: 11px; }
.existing-user-note small { font-size: 10px; }
.recommendation-section { margin: 17px 22px 0; }
.recommendation-section h3 { margin: 0; color: #414651; font: 700 14px 'Manrope', sans-serif; }
.recommendation-section p { margin: 3px 0 10px; color: #8a8f99; font-size: 10px; }
.recommended-groups, .peer-list { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.recommended-group { min-width: 0; min-height: 52px; padding: 8px; display: flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; }
.recommended-group:has(input:checked) { border-color: #aaa3ee; background: #faf9ff; }
.recommended-group input { accent-color: var(--purple); }
.recommended-group > span:nth-of-type(2) { min-width: 0; flex: 1; display: grid; gap: 2px; }
.recommended-group strong { overflow: hidden; color: #444954; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.recommended-group small { color: #8d929c; font-size: 10px; }
.recommended-group em { padding: 3px 5px; border-radius: 7px; color: #277866; background: #e9f5f1; font-size: 10px; font-style: normal; white-space: nowrap; }
.recommended-group.optional { opacity: .78; }
.recommended-group.optional em { color: #777d87; background: #f1f2f4; }
.reference-user-select { margin-bottom: 9px; display: grid; gap: 5px; color: #666c77; font-size: 10px; font-weight: 700; }
.reference-user-select select { width: 100%; height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 7px; color: #4a4f5a; background: #fff; font-size: 11px; }
.peer-option { min-height: 52px; padding: 8px; display: flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 8px; background: #fff; text-align: left; }
.peer-option:hover, .peer-option.selected { border-color: #aaa3ee; background: #faf9ff; }
.peer-option > span:nth-child(2) { min-width: 0; flex: 1; display: grid; gap: 2px; }
.peer-option strong { overflow: hidden; color: #444954; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.peer-option small { color: #8d929c; font-size: 10px; }
.peer-option em { color: #6257d8; font-size: 10px; font-style: normal; font-weight: 700; }
.genie-detail-page { display: grid; gap: 13px; }
.genie-breadcrumb { width: max-content; padding: 0; display: flex; align-items: center; gap: 4px; border: 0; color: #6257d8; background: none; font-size: 11px; font-weight: 700; }
.genie-breadcrumb svg, #back-to-genies svg { transform: rotate(180deg); }
.genie-page-hero { min-height: 116px; padding: 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.genie-page-identity { display: flex; align-items: center; gap: 14px; }
.genie-page-identity .genie-icon { width: 48px; height: 48px; border-radius: 12px; }
.genie-page-identity .genie-icon svg { width: 22px; height: 22px; }
.genie-page-identity h2 { margin: 0; color: #303540; font: 800 19px 'Manrope', sans-serif; }
.genie-page-identity p { max-width: 760px; margin: 5px 0 0; color: #7d828d; font-size: 12px; line-height: 1.5; }
.genie-page-status { display: flex; align-items: center; gap: 7px; }
.genie-page-content { overflow: hidden; }
.genie-page-content .genie-detail-body { padding: 25px; }
.genie-page-content .genie-summary-grid { grid-template-columns: repeat(4, 1fr); }
.genie-page-content .source-list { display: grid; grid-template-columns: 1fr 1fr; }
.genie-page-content .source-list article { min-width: 0; }
.genie-page-content .instruction-list article, .genie-page-content .question-list article { padding: 16px; }
.genie-page-loading { min-height: 360px; }
@keyframes bounce { to { transform: translateY(-7px); opacity: .45; } }
.sidebar-backdrop { display: none; }

@media (max-width: 1180px) {
  .group-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .matrix-toolbar { align-items: stretch; flex-direction: column; }
  .matrix-toolbar .search-field { width: 100%; }
  .matrix-toolbar .filter-row { justify-content: flex-end; }
}

@media (max-width: 860px) {
  .sidebar { transform: translateX(-100%); transition: transform .22s ease; box-shadow: 18px 0 40px rgba(18,20,27,.2); }
  .sidebar.open { transform: translateX(0); }
  .sidebar-close { display: grid !important; }
  .sidebar-backdrop { display: none; position: fixed; inset: 0; z-index: 29; border: 0; background: rgba(20,22,30,.4); }
  .sidebar-backdrop.visible { display: block; }
  .main-area { padding-left: 0; }
  .mobile-menu { display: grid; margin-right: 9px; }
  .topbar { justify-content: flex-start; padding: 0 18px; }
  .topbar-actions { margin-left: auto; }
  .source-pill, .profile-copy, .profile-button > svg { display: none; }
  .profile-button { min-width: 38px; padding-left: 9px; }
  .page-wrap { padding: 25px 20px 35px; }
  .overview-grid { grid-template-columns: 1fr; }
  .matrix-summary { align-items: flex-start; flex-direction: column; gap: 7px; padding-block: 10px; }
  .matrix-footer span:last-child { display: none; }
  .genie-management-grid { grid-template-columns: 1fr; }
  .detail-access-columns { grid-template-columns: 1fr; }
  .genie-page-content .genie-summary-grid { grid-template-columns: 1fr 1fr; }
  .genie-page-content .source-list { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .page-heading { align-items: flex-start; flex-direction: column; margin-bottom: 18px; }
  .page-heading h1 { font-size: 23px; }
  .heading-actions { width: 100%; }
  .heading-actions .button { flex: 1; }
  .stats-grid, .group-grid { grid-template-columns: 1fr; }
  .stat-card { min-height: 100px; }
  .filter-row { width: 100%; overflow-x: auto; justify-content: flex-start !important; }
  .select-field { flex: 1 0 145px; }
  .legend { flex-wrap: wrap; gap: 8px 13px; }
  .matrix-summary { min-height: 60px; }
  .sync-button span { display: none; }
  .sync-button { flex: 0 0 38px !important; padding: 0; }
  .workspace-switcher > span:nth-child(2), .workspace-switcher > svg { display: none; }
  .topbar { height: 57px; }
  .page-wrap { padding: 21px 13px 30px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid label { grid-column: 1 / -1; }
  .drawer { width: 100%; }
  .group-tip { align-items: flex-start; }
  .group-tip button { display: none; }
  .audit-toolbar { align-items: stretch; flex-direction: column; gap: 8px; }
  .audit-toolbar .search-field { width: 100%; }
  .audit-filters { align-items: stretch; flex-direction: column; }
  .audit-filters .search-field, .audit-filters .select-field { width: 100%; margin-left: 0; }
  .audit-list article { grid-template-columns: 34px 1fr auto; }
  .audit-list article > .more-button { display: none; }
  .audit-list time { grid-column: 2; }
  .genie-stats { grid-template-columns: 1fr; }
  .catalog-toolbar { align-items: stretch; flex-direction: column; gap: 12px; }
  .catalog-toolbar .search-field { width: 100%; }
  .genie-summary-grid { grid-template-columns: 1fr; }
  .governance-summary { grid-template-columns: 1fr 1fr; }
  .governance-summary > div:nth-child(2) { border-right: 0; }
  .governance-summary > div { border-bottom: 1px solid var(--line); }
  .governance-summary > div:nth-child(3), .governance-summary > div:nth-child(4) { border-bottom: 0; }
  .matrix-mode-bar { align-items: flex-start; flex-direction: column; }
}

/* Autenticação institucional */
.login-page { color: var(--ink); background: #f4f5f8; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(380px, .9fr) minmax(460px, 1.1fr); }
.login-hero { min-height: 100vh; padding: 46px clamp(36px, 6vw, 88px); display: flex; flex-direction: column; color: #e8eaf0; background: radial-gradient(circle at 25% 25%, rgba(105,90,235,.25), transparent 34%), linear-gradient(145deg, #171a22, #202432); }
.login-brand { display: flex; align-items: center; gap: 12px; }
.login-brand > span:last-child { display: grid; gap: 4px; }
.login-brand strong { color: #fff; font: 800 17px 'Manrope', sans-serif; }
.login-brand small { color: #888f9f; font-size: 10px; font-weight: 700; letter-spacing: 1.8px; }
.login-brand-symbol { width: 42px; height: 42px; font: 700 12px 'Manrope', sans-serif; }
.login-hero-copy { max-width: 570px; margin: auto 0; }
.login-hero-copy .eyebrow { color: #9c94f6; }
.login-hero-copy h1 { max-width: 540px; margin: 14px 0 18px; color: #fff; font: 800 clamp(34px, 4vw, 58px)/1.08 'Manrope', sans-serif; letter-spacing: -1.8px; }
.login-hero-copy p { max-width: 500px; margin: 0; color: #aeb3c0; font-size: 15px; line-height: 1.7; }
.login-hero > small { color: #707786; font-size: 12px; }
.login-panel { padding: 36px; display: grid; place-items: center; }
.login-card { width: min(400px, 100%); padding: 36px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 20px 60px rgba(28,32,44,.09); }
.login-card h2 { margin: 0; font: 800 25px 'Manrope', sans-serif; letter-spacing: -.5px; }
.login-card > p { margin: 8px 0 24px; color: var(--muted); font-size: 14px; }
.login-mobile-brand { display: none; }
.login-alert { margin-bottom: 18px; padding: 11px 12px; color: #9a3f49; background: #fff0f1; border: 1px solid #f4d7da; border-radius: 8px; font-size: 12px; line-height: 1.45; }
.login-form { display: grid; gap: 15px; }
.login-form label { display: grid; gap: 7px; color: #515662; font-size: 12px; font-weight: 600; }
.login-form input { width: 100%; height: 44px; padding: 0 12px; border: 1px solid #dfe1e6; border-radius: 8px; color: var(--ink); background: #fff; font-size: 14px; }
.login-form input:focus { border-color: #8b81ec; box-shadow: 0 0 0 3px rgba(98,85,231,.1); outline: none; }
.login-submit { min-height: 44px; margin-top: 5px; }
.login-card .login-help { margin: 19px 0 0; text-align: center; font-size: 11px; }

@media (max-width: 860px) {
  .settings-grid { grid-template-columns: 1fr; }
  .settings-warnings { grid-column: auto; }
  .login-shell { grid-template-columns: 1fr; }
  .login-hero { display: none; }
  .login-panel { min-height: 100vh; padding: 22px; }
  .login-mobile-brand { display: block; margin-bottom: 34px; color: var(--purple); font: 800 14px 'Manrope', sans-serif; letter-spacing: 1px; }
}

@media (max-width: 600px) {
  .governance-callout { align-items: flex-start; flex-wrap: wrap; }
  .governance-callout .button { width: 100%; }
  .login-card { padding: 27px 22px; }
  .people-intro { align-items: flex-start; flex-direction: column; gap: 10px; }
  .risk-stats { grid-template-columns: 1fr; }
  .user-access-hero { align-items: flex-start; flex-wrap: wrap; }
  .user-access-hero .button { width: 100%; }
  .user-organization { grid-template-columns: 1fr; }
  .exception-fields { grid-template-columns: 1fr; }
  .matrix-mode-bar > div { width: 100%; overflow-x: auto; }
  .matrix-mode-bar button { flex: 0 0 auto; }
  .directory-attributes, .recommended-groups, .peer-list { grid-template-columns: 1fr; }
  .directory-attributes > div { border-right: 0; border-bottom: 1px solid var(--line) !important; }
  .directory-attributes > div:last-child { border-bottom: 0 !important; }
  .genie-page-hero { align-items: flex-start; flex-direction: column; }
}

/* Revisão de experiência e legibilidade */
:root {
  --line: #dfe2e8;
  --shadow: 0 1px 2px rgba(26, 30, 41, .035), 0 10px 30px rgba(26, 30, 41, .055);
}

body { color: #202530; background: #f4f6f9; font-size: 14px; line-height: 1.45; }
body.overlay-open { overflow: hidden; }
.skip-link { position: fixed; top: 10px; left: 12px; z-index: 200; padding: 10px 14px; border-radius: 8px; color: #fff; background: #3026a8; text-decoration: none; transform: translateY(-150%); transition: transform .15s ease; }
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.sync-progress { position: fixed; top: 0; left: 0; z-index: 150; width: 100%; height: 3px; opacity: 0; pointer-events: none; overflow: hidden; transition: opacity .15s ease; }
.sync-progress::before { content: ""; position: absolute; inset: 0 auto 0 -35%; width: 35%; background: linear-gradient(90deg, transparent, #786bf0, #3db092, transparent); animation: syncProgress 1.15s ease-in-out infinite; }
.sync-progress.visible { opacity: 1; }
@keyframes syncProgress { to { transform: translateX(390%); } }

.sidebar { width: 256px; padding-inline: 16px; }
.brand { height: 84px; margin-bottom: 18px; }
.brand-symbol { width: 40px; height: 40px; }
.brand strong { font-size: 20px; }
.brand small { font-size: 11px; }
.nav-label { padding: 12px 12px 8px; font-size: 12px; }
.sidebar nav button, .sidebar-footer > button { height: 48px; border-radius: 10px; font-size: 14px; }
.sidebar nav button em { font-size: 13px; }
.support-card { padding: 16px; border-radius: 12px; }
.support-card strong { font-size: 14px; }
.support-card > span, .support-card a { font-size: 14px; }

.main-area { padding-left: 256px; }
.topbar { height: 72px; padding-inline: 36px; }
.workspace-switcher { font-size: 14px; }
.workspace-mark { width: 34px; height: 34px; border-radius: 9px; }
.source-pill { padding: 7px 11px; font-size: 14px; }
.profile-button { height: 52px; }
.profile-copy strong { font-size: 15px; }
.profile-copy small { font-size: 13px; }
.profile-dropdown { width: 270px; padding: 17px; }
.profile-dropdown > strong { font-size: 14px; }
.profile-dropdown > span, .profile-dropdown button { font-size: 14px; }

.page-wrap { max-width: 1760px; padding: 38px 38px 52px; }
.page-heading { margin-bottom: 28px; }
.eyebrow, .section-kicker { margin-bottom: 8px; font-size: 12px; letter-spacing: 1.6px; }
.page-heading h1 { font-size: 32px; letter-spacing: -.85px; }
.page-heading p { max-width: 820px; font-size: 15px; line-height: 1.55; }
.heading-actions { gap: 10px; }
.button { min-height: 42px; padding-inline: 16px; border-radius: 9px; font-size: 15px; }
.text-button { font-size: 14px; }
.panel { border-radius: 14px; }
.content-stack { gap: 22px; }

.stats-grid { gap: 16px; }
.stat-card { min-height: 132px; padding: 22px; }
.stat-icon { width: 44px; height: 44px; border-radius: 11px; }
.stat-copy > span { font-size: 14px; }
.stat-copy > strong { margin-block: 3px 4px; font-size: 28px; }
.stat-copy small { font-size: 13px; }
.overview-grid { gap: 16px; }
.overview-access, .recent-panel { padding: 24px; }
.panel-title-row h2 { font-size: 18px; }
.mini-genie { width: 36px; height: 36px; font-size: 14px; }
.bar-main > div:first-child { font-size: 14px; }
.compact-activity p, .risk-compact strong { font-size: 14px; }
.compact-activity p small, .risk-compact small { font-size: 12px; }
.governance-callout { min-height: 76px; padding: 16px 18px; border-radius: 12px; }
.governance-callout strong { font-size: 14px; }
.governance-callout p { font-size: 14px; }

.matrix-mode-bar { min-height: 62px; margin-bottom: 16px; padding: 10px 12px; border-radius: 12px; }
.matrix-mode-bar button { height: 38px; padding-inline: 16px; font-size: 14px; }
.matrix-mode-bar button em { font-size: 11px; }
.matrix-mode-bar p { font-size: 14px; }
.matrix-toolbar { padding: 16px 18px; }
.search-field, .select-field { height: 42px; border-radius: 9px; }
.search-field { width: min(390px, 100%); padding-inline: 12px; }
.search-field input, .select-field select { font-size: 15px; }
.select-field { min-width: 176px; padding-inline: 11px; }
.compact-select { min-width: 145px; }
.matrix-summary { min-height: 48px; padding-inline: 18px; font-size: 13px; }
.legend { gap: 18px; }
.dot { width: 8px; height: 8px; }

/* Somente a lista aberta dos filtros; campos e paginação mantêm o layout original. */
@supports (appearance: base-select) {
  .select-field select,
  .select-field select::picker(select) { appearance: base-select; }
  .select-field select { --picker-min-width: 220px; }
  :is(#department-filter, #user-department) { --picker-min-width: 360px; }
  :is(#division-filter, #user-division) { --picker-min-width: 320px; }
  .select-field select::picker(select) {
    inline-size: max(anchor-size(width), min(var(--picker-min-width), calc(100vw - 24px)));
    max-inline-size: min(420px, calc(100vw - 24px));
    max-block-size: min(420px, calc(100vh - 24px));
    margin-block-start: 6px;
    padding: 6px;
    overflow-y: auto;
    border: 1px solid #d8dce4;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(28, 33, 45, .16);
  }
  .select-field select option {
    display: flex;
    min-height: 38px;
    padding: 9px 10px;
    align-items: center;
    border-radius: 7px;
    color: #505663;
    background: #fff;
    font-size: 14px;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
  }
  .select-field select option:hover,
  .select-field select option:focus { color: #4f45c8; background: #f4f2ff; }
  .select-field select option:checked { color: #4f45c8; background: #eeecff; font-weight: 700; }
  .select-field select option::checkmark { margin-inline: 0 6px; color: #6255e7; }
  .select-field select::picker-icon { display: none; }
}

.access-matrix { width: 100%; min-width: 0; display: grid; grid-template-columns: clamp(220px, 21%, 280px) minmax(0, 1fr); align-items: start; border-bottom: 1px solid #e9eaed; }
.matrix-scroll { width: 100%; min-width: 0; max-height: none; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scrollbar-color: #b9bec8 #f0f1f4; scrollbar-width: thin; }
.matrix-scroll::-webkit-scrollbar { height: 10px; }
.matrix-scroll::-webkit-scrollbar-track { background: #f0f1f4; }
.matrix-scroll::-webkit-scrollbar-thumb { border: 2px solid #f0f1f4; border-radius: 999px; background: #b9bec8; }
.matrix-scroll::-webkit-scrollbar-thumb:hover { background: #9da3af; }
.access-table { width: 100%; min-width: 0; table-layout: fixed; }
.access-table thead { position: static; }
.access-table thead tr { height: 92px; }
.access-table tbody tr { height: 76px; }
.access-table th { height: 92px; padding-inline: 13px; font-size: 13px; }
.access-table th:not(.user-column) { width: auto; }
.access-table td { height: 76px; padding-inline: 13px; }
.access-table .user-column { width: clamp(220px, 21%, 280px); position: static; box-shadow: none; }
.access-table th.user-column, .access-table td.user-column { padding-left: 18px; }
.access-principal-table { width: 100%; min-width: 0; position: relative; z-index: 2; box-shadow: 10px 0 22px -18px rgba(36, 40, 52, .7); }
.access-principal-table .user-column { width: 100%; }
.access-principal-table th.user-column, .access-principal-table td.user-column { border-right-color: #dfe1e6; }
.access-genie-table { width: 100%; min-width: var(--genie-min-width, 190px); }
.access-table tbody tr.row-highlight td { background: #fbfbfd; }
.access-principal-table .user-cell { max-height: 56px; overflow: hidden; }
.access-principal-table .user-summary-button { max-height: 64px; overflow: hidden; }
.user-cell strong, .user-summary-button strong { min-width: 0; overflow: hidden; font-size: 15px; line-height: 1.25; white-space: normal; overflow-wrap: anywhere; }
.user-cell > div, .user-summary-button > div { min-width: 0; overflow: hidden; }
.user-cell small, .user-summary-button small { max-width: 205px; font-size: 13px; }
.avatar { width: 36px; height: 36px; font-size: 13px; }
.avatar-small { width: 32px; height: 32px; font-size: 12px; }
.status-badge, .scope-badge { font-size: 11px; }
.genie-icon { width: 34px; height: 34px; border-radius: 9px; }
.genie-icon svg { width: 17px; height: 17px; }
.genie-heading strong { display: -webkit-box; max-width: none; overflow: hidden; font-size: 13px; line-height: 1.25; white-space: normal; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.genie-heading small { max-width: 100%; font-size: 11px; }
.permission-cell.permission-select { height: 60px; padding: 5px 9px; border-radius: 8px; }
.permission-select .permission-symbol { width: 28px; height: 28px; }
.permission-select b { font-size: 13px; }
.permission-select small { max-width: 105px; font-size: 11px; }
.matrix-data-status { max-width: 112px; font-size: 10px; }
.permission-cell > em, .permission-cell > i { font-size: 11px; }
.matrix-footer { min-height: 48px; height: auto; padding: 10px 18px; font-size: 12px; }

.people-intro { min-height: 74px; margin-bottom: 16px; padding: 15px 18px; border-radius: 12px; }
.people-intro strong { font-size: 14px; }
.people-intro small { font-size: 14px; }
.directory-toolbar { min-height: 76px; padding: 16px 18px; gap: 12px; flex-wrap: wrap; }
.directory-filters, .catalog-filters, .classification-filters { display: flex; align-items: center; gap: 9px; }
.result-count { color: #858a95; font-size: 13px; white-space: nowrap; }
.result-count strong { color: #444a56; font-size: 15px; }
.directory-table { min-width: 1040px; }
.people-table { min-width: 1040px; }
.directory-table th { height: 50px; padding-inline: 18px; font-size: 13px; }
.directory-table td { height: 78px; padding-inline: 18px; font-size: 15px; }
.directory-table tbody tr { transition: background .15s ease; }
.directory-table tr[data-user-row]:focus-visible { outline: 2px solid #9188eb; outline-offset: -2px; }
.org-cell { max-width: 250px; font-size: 14px; }
.org-stack { min-width: 0; max-width: 360px; display: grid; gap: 4px; }
.org-stack strong, .org-stack small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.org-stack strong { color: #505661; font-size: 14px; }
.org-stack small { color: #8c919b; font-size: 12px; }
.state-pill { padding: 5px 8px; font-size: 12px; }
.group-stack > span { width: 29px; height: 29px; font-size: 10px; }
.user-access-button { min-height: 36px; font-size: 13px; }
.table-pagination { min-height: 60px; padding-inline: 18px; font-size: 13px; }
.pagination-actions select, .pagination-button, .pagination-pages button { height: 34px; }
.pagination-button, .pagination-pages button { width: 34px; font-size: 13px; }

.section-toolbar { min-height: 76px; padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.section-toolbar > div:first-child { display: grid; }
.section-toolbar > div:first-child > strong { color: #454a56; font-size: 14px; }
.group-grid { gap: 16px; }
.group-card, .new-group-card { min-height: 240px; padding: 22px; border-radius: 14px; }
.group-card:focus-visible, .genie-management-card:focus-visible { outline: 3px solid rgba(98,85,231,.22); outline-offset: 3px; }
.group-card h3 { margin-top: 18px; font-size: 16px; }
.group-card > p { height: 40px; font-size: 14px; }
.group-card-members > span { font-size: 14px; }
.avatar-pile .avatar { width: 30px; height: 30px; font-size: 10px; }
.group-card-footer { height: 48px; margin: 18px -22px -22px; padding-inline: 22px; border-radius: 0 0 14px 14px; font-size: 13px; }
.new-group-card strong { font-size: 14px; }
.new-group-card small { font-size: 13px; }
.group-tip { min-height: 78px; padding: 16px 18px; }
.group-tip strong { font-size: 15px; }
.group-tip p, .group-tip button { font-size: 13px; }

.genie-stats > div { min-height: 92px; padding: 18px; }
.genie-stats strong { font-size: 24px; }
.genie-stats small { font-size: 14px; }
.catalog-toolbar { min-height: 84px; padding: 17px 20px; }
.catalog-toolbar h2 { font-size: 18px; }
.catalog-toolbar h2 small { margin-left: 7px; color: #969ba5; font: 500 13px 'Inter', sans-serif; }
.genie-management-grid { gap: 16px; padding: 20px; }
.genie-management-card { padding: 20px; border-radius: 13px; }
.genie-management-card h3 { margin-top: 15px; font-size: 16px; }
.genie-management-card > p { height: 42px; font-size: 14px; }
.genie-state { padding: 5px 8px; font-size: 12px; }
.data-exposure, .classification-gap { padding: 5px 8px; font-size: 11px; }
.genie-context span { font-size: 12px; }
.genie-metrics strong { font-size: 14px; }
.genie-metrics span { font-size: 11px; }
.genie-card-footer small { font-size: 11px; }
.genie-card-footer small b { font-size: 12px; }

.genie-breadcrumb { font-size: 14px; }
.genie-page-hero { min-height: 136px; padding: 26px; }
.genie-page-identity .genie-icon { width: 56px; height: 56px; }
.genie-page-identity h2 { font-size: 23px; }
.genie-page-identity p { margin-top: 7px; font-size: 15px; }
.detail-tabs { overflow-x: auto; overflow-y: hidden; padding-inline: 18px; }
.detail-tabs button { height: 52px; padding-inline: 14px; font-size: 14px; }
.genie-page-content .genie-detail-body { padding: 28px; }
.genie-governance-banner { margin: 0 0 20px; padding: 13px 15px; }
.genie-governance-banner > span:last-child, .data-scope-note { font-size: 13px; }
.genie-summary-grid > div { min-height: 92px; padding: 16px; }
.genie-summary-grid span { font-size: 12px; }
.genie-summary-grid strong { font-size: 15px; }
.genie-summary-grid small { font-size: 12px; }
.detail-section-title h3 { font-size: 15px; }
.detail-section-title p, .detail-section-title > span { font-size: 13px; }
.governance-summary > div { min-height: 100px; }
.governance-summary strong { font-size: 18px; }
.governance-summary span { font-size: 12px; }
.source-list article { min-height: 88px; padding: 14px; }
.source-list strong { font-size: 14px; }
.source-list p, .source-list article > small { font-size: 12px; }
.instruction-list p, .question-list article, .sql-example-list summary { font-size: 14px; }
.instruction-list article > span { width: 28px; height: 28px; font-size: 12px; }
.detail-access-columns h4 { font-size: 12px; }
.detail-principal { min-height: 50px; }
.detail-principal strong { font-size: 13px; }
.detail-principal small, .permission-tag { font-size: 11px; }

.audit-toolbar { min-height: 82px; padding: 17px 20px; }
.audit-toolbar h2, .health-summary h2, .settings-card h2 { font-size: 18px; }
.audit-toolbar p { font-size: 14px; }
.audit-filters { min-height: 68px; padding: 13px 20px; }
.audit-list article { min-height: 90px; grid-template-columns: 40px 1fr auto; gap: 13px; }
.audit-list p { font-size: 15px; }
.audit-detail { padding: 4px 7px; font-size: 12px; }
.audit-context em, .audit-context small, .audit-list time { font-size: 11px; }
.health-summary p, .service-list small, .service-list em, .settings-card dt, .settings-card dd, .settings-warnings p { font-size: 14px; }
.service-list strong { font-size: 14px; }
.access-role-flow strong, .system-admin-row strong, .system-admin-result strong { font-size: 15px; }
.access-role-flow small, .settings-card-heading p, .system-admin-row small, .system-admin-result small, .admin-safety-note { font-size: 13px; }
.system-admin-row em, .system-admin-result em, .admin-source, .admin-protected, .settings-policy-note, .system-admin-result > i { font-size: 12px; }

.risk-stats article { min-height: 100px; padding: 18px; }
.risk-stats strong { font-size: 23px; }
.risk-stats small { font-size: 13px; }
.risk-panel-header h2 { font-size: 18px; }
.risk-panel-header p { font-size: 14px; }
.risk-list > button { min-height: 72px; padding: 13px 18px; }
.risk-list strong { font-size: 15px; }
.risk-list small { font-size: 13px; }
.risk-severity { width: 62px; font-size: 11px; }

.drawer { width: min(500px, 100%); }
.genie-detail-drawer, .user-access-drawer, .group-drawer { width: min(780px, 100vw); }
.drawer-header { height: 92px; padding-inline: 26px; }
.drawer-header h2 { font-size: 20px; }
.drawer-person strong, .access-toggle-row strong, .group-drawer-summary strong { font-size: 14px; }
.drawer-person small, .access-toggle-row small, .direct-access-note, .group-drawer-summary small { font-size: 13px; }
.classification-badge { font-size: 12px; }
.table-governance-button { min-height: 34px; padding-inline: 10px; font-size: 13px; }
.user-access-hero { margin: 20px 24px 0; padding: 16px; border-radius: 12px; }
.user-access-hero strong { font-size: 15px; }
.user-access-hero small { font-size: 13px; }
.user-access-hero .button { min-height: 38px; padding-inline: 12px; font-size: 13px; }
.user-organization { margin: 12px 24px 0; gap: 10px; }
.user-organization div { min-height: 68px; padding: 12px 14px; border-radius: 10px; }
.user-organization span { font-size: 11px; }
.user-organization strong { font-size: 13px; }
.user-access-totals { margin: 14px 24px 0; border-radius: 11px; }
.user-access-totals div { min-height: 76px; }
.user-access-totals strong { font-size: 20px; }
.user-access-totals span { font-size: 12px; }
.user-groups, .user-genie-access { margin: 24px 24px 0; }
.user-groups > div:last-child > span { padding: 6px 9px; font-size: 12px; }
.user-access-row { margin-top: 10px; padding: 14px; border-radius: 11px; }
.user-access-main strong { font-size: 14px; }
.user-access-main small { font-size: 12px; }
.uc-status { padding: 5px 8px; font-size: 11px; }
.exception-detail { padding: 10px; font-size: 12px; }
.user-access-drawer > .data-limitations { margin: 16px 24px 24px; padding: 13px 14px; }
.user-access-drawer > .data-limitations p { font-size: 13px; }
.permission-options legend { font-size: 15px; }
.permission-option-copy strong { font-size: 15px; }
.permission-option-copy small { font-size: 13px; }
.access-data-preview > div span, .access-data-preview > div strong { font-size: 14px; }
.access-data-preview > small { font-size: 12px; }
.readonly-badge { font-size: 14px; }
.member-heading span { font-size: 15px; }
.member-heading small, .member-picker-list small, .member-list > div > span:nth-child(2) small { font-size: 12px; }
.member-picker-list strong, .member-list > div > span:nth-child(2) strong { font-size: 14px; }
.access-flow-guide strong, .mapping-notice strong { font-size: 14px; }
.access-flow-guide small, .mapping-notice small { font-size: 12px; }
.mapping-notice .button { min-height: 34px; font-size: 12px; }
.group-governance-flow b, .group-genie-main small, .group-genie-row > p { font-size: 12px; }
.group-genie-main strong { font-size: 14px; }
.group-genie-row > .button { min-height: 34px; font-size: 12px; }
.principal-table-pending, .principal-table-scope summary, .principal-table-row b { font-size: 12px; }
.principal-table-row .classification-badge, .table-treatment { font-size: 10px; }

.modal { width: min(560px, calc(100vw - 28px)); max-height: calc(100vh - 32px); overflow-y: auto; border-radius: 16px; }
.copy-access-modal { width: min(640px, calc(100vw - 28px)); }
.modal.directory-search-modal { width: min(820px, calc(100vw - 28px)); }
.modal-header { min-height: 86px; padding: 20px 24px; }
.modal-header h2 { font-size: 21px; }
.modal-header p { font-size: 14px; }
.form-grid { padding: 20px 24px 0; gap: 14px; }
.form-grid label, .exception-fields label { font-size: 14px; }
.form-grid input, .form-grid select, .form-grid textarea, .exception-fields textarea, .exception-fields input { min-height: 42px; font-size: 15px; }
.form-note { margin: 17px 24px 0; padding: 12px; font-size: 13px; }
.modal-actions { padding: 18px 24px 22px; }
.ldap-search-field { height: 50px; margin: 0 24px 17px; }
.ldap-search-field input { font-size: 15px; }
.ldap-search-field > span { font-size: 12px; }
.ldap-email-form { padding-inline: 24px; }
.ldap-email-form > label { font-size: 14px; }
.ldap-email-form > small { font-size: 12px; }
.directory-search-empty strong { font-size: 14px; }
.directory-search-empty span { font-size: 13px; }
.ldap-result { min-height: 78px; padding-inline: 24px; }
.ldap-result strong, .directory-person-card strong { font-size: 15px; }
.ldap-result small, .ldap-result em, .directory-person-card small { font-size: 13px; }
.ldap-result > i, .back-directory-search { font-size: 12px; }
.directory-attributes dt { font-size: 11px; }
.directory-attributes dd { font-size: 14px; }
.existing-user-note strong { font-size: 14px; }
.existing-user-note small { font-size: 12px; }
.recommendation-section h3 { font-size: 15px; }
.recommendation-section p { font-size: 13px; }
.recommended-group, .peer-option { min-height: 64px; padding: 10px; }
.recommended-group strong, .peer-option strong { font-size: 13px; }
.recommended-group small, .peer-option small { font-size: 11px; }
.recommended-group em, .peer-option em { font-size: 10px; }
.reference-user-select { font-size: 13px; }
.reference-user-select select { height: 42px; font-size: 14px; }
.copy-preview p, .copy-preview small { font-size: 13px; }
.copy-preview strong, .copy-preview li { font-size: 14px; }
.toast { right: 28px; bottom: 28px; max-width: min(440px, calc(100vw - 32px)); min-height: 48px; padding: 12px 14px; border-radius: 10px; font-size: 15px; }
.toast.error { background: #9e3f49; }
.toast > span { flex: 1; min-width: 0; max-height: min(144px, 30vh); overflow: auto; overflow-wrap: anywhere; }
.toast > svg, .toast > button { flex-shrink: 0; }
.toast > button { width: 26px; height: 26px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 6px; color: inherit; background: rgba(255,255,255,.1); }
.journey-validation { margin: 16px; padding: 16px; border: 1px solid #e8b5ba; border-radius: 12px; background: #fff8f8; color: #69373e; scroll-margin: 20px; }
.journey-validation:focus { outline: 2px solid #aa505a; outline-offset: 3px; }
.journey-validation > header { display: flex; gap: 10px; align-items: flex-start; }
.journey-validation > header > svg { flex-shrink: 0; margin-top: 2px; }
.journey-validation h3 { margin: 0 0 6px; font-size: 15px; }
.journey-validation p { margin: 0 0 12px; font-size: 12px; line-height: 1.6; }
.journey-validation-tables { max-height: min(440px, 50vh); overflow: auto; overscroll-behavior: contain; border: 1px solid #efd8db; border-radius: 8px; background: white; }
.journey-validation details + details { border-top: 1px solid #efd8db; }
.journey-validation summary { display: flex; gap: 10px; align-items: center; padding: 12px; cursor: pointer; }
.journey-validation summary::before { content: '+'; font-size: 17px; flex-shrink: 0; }
.journey-validation details[open] > summary::before { content: '−'; }
.journey-validation summary > span { flex: 1; min-width: 0; }
.journey-validation summary strong, .journey-validation summary small { display: block; overflow-wrap: anywhere; }
.journey-validation summary strong { font-size: 12px; }
.journey-validation summary small { margin-top: 4px; color: #7c7181; font-size: 10px; }
.journey-validation summary em { flex-shrink: 0; font-size: 10px; font-style: normal; }
.journey-validation-issues { padding: 0 12px 12px; }
.journey-validation-issues article { padding: 12px 0; border-top: 1px solid #f2e5e7; }
.journey-validation-issues p { margin-bottom: 8px; }
.journey-validation-issues small { display: block; font-size: 11px; overflow-wrap: anywhere; }
.journey-validation-issues ul { display: flex; flex-wrap: wrap; gap: 5px; padding: 0; margin: 10px 0; list-style: none; }
.journey-validation-issues li { max-width: 100%; padding: 4px 7px; border-radius: 5px; background: #f8f1f3; font-size: 11px; overflow-wrap: anywhere; }
.journey-validation .text-button { margin-top: 8px; font-size: 12px; text-align: left; white-space: normal; }
.governance-write-error { margin: 16px; padding: 16px; border: 1px solid #e8b5ba; border-radius: 10px; background: #fff8f8; color: #69373e; font-size: 12px; line-height: 1.6; }
.governance-write-error:focus { outline: 2px solid #aa505a; outline-offset: 2px; }
.governance-write-error h3 { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 12px; font-size: 14px; overflow-wrap: anywhere; }
.governance-write-error h3 svg { flex-shrink: 0; margin-top: 3px; }
.governance-write-error dl { margin: 0; }
.governance-write-error dl > div { display: flex; flex-wrap: wrap; gap: 4px 8px; }
.governance-write-error dt { font-weight: 600; }
.governance-write-error dd { margin: 0; overflow-wrap: anywhere; min-width: 0; }
.governance-write-error p { margin: 10px 0; }
.governance-write-error summary { cursor: pointer; font-weight: 600; overflow-wrap: anywhere; }
.governance-write-error pre { max-height: 160px; padding: 10px; border-radius: 6px; background: #f7edef; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 11px; }
.governance-write-error small { display: block; overflow-wrap: anywhere; }
.loading-state p, .empty-state p, .error-state p, .dashboard-empty { font-size: 14px; }
.empty-state h3, .error-state h3 { font-size: 16px; }

.login-brand strong { font-size: 20px; }
.login-brand small { font-size: 12px; }
.login-hero > small { font-size: 14px; }
.login-card { width: min(440px, 100%); padding: 40px; }
.login-card h2 { font-size: 28px; }
.login-card > p { font-size: 14px; }
.login-alert, .login-form label { font-size: 14px; }
.login-form input { height: 48px; font-size: 14px; }
.login-card .login-help { font-size: 13px; }

.instructions-layout { margin-top: 16px; display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: start; gap: 18px; }
.instructions-layout.without-outline { grid-template-columns: minmax(0, 1fr); }
.instruction-outline { position: sticky; top: 86px; max-height: calc(100vh - 110px); overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fafafb; }
.instruction-outline > div { min-height: 50px; padding: 0 14px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); color: #4d5260; }
.instruction-outline > div svg { color: #6b60df; }
.instruction-outline > div strong { font-size: 14px; }
.instruction-outline nav { max-height: calc(100vh - 161px); padding: 8px; overflow-y: auto; scrollbar-width: thin; }
.instruction-outline a { min-height: 31px; padding: 7px 9px 7px 13px; display: block; border-left: 2px solid transparent; border-radius: 0 6px 6px 0; color: #777c87; font-size: 12px; line-height: 1.4; text-decoration: none; }
.instruction-outline a.major { color: #4f5460; font-weight: 700; }
.instruction-outline a:hover { border-left-color: #7469e4; color: #5f55cf; background: #f0eefd; }
.instruction-list { min-width: 0; gap: 16px; }
.instruction-list .instruction-document { padding: 28px 32px; display: block; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 8px 26px rgba(36,40,52,.035); }
.instruction-document > .instruction-document-label { width: auto; height: auto; margin-bottom: 18px; padding: 5px 9px; display: inline-flex; border-radius: 12px; color: #6255e7; background: #efedfd; font-size: 11px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; }
.instruction-markdown { color: #555b67; }
.instruction-markdown h3, .instruction-markdown h4 { scroll-margin-top: 105px; font-family: 'Manrope', sans-serif; }
.instruction-markdown h3 { margin: 34px 0 13px; padding: 0 0 10px; border-bottom: 1px solid #e8e9ec; color: #303541; font-size: 19px; line-height: 1.3; letter-spacing: -.25px; }
.instruction-markdown h3:first-child { margin-top: 0; }
.instruction-markdown h4 { margin: 25px 0 10px; color: #414753; font-size: 15px; line-height: 1.4; }
.instruction-markdown p { margin: 0 0 14px; color: #616773; font-size: 14px; line-height: 1.75; }
.instruction-markdown strong { color: #363b47; font-weight: 750; }
.instruction-markdown code { padding: 2px 5px; border: 1px solid #e2e0f4; border-radius: 5px; color: #5449bd; background: #f5f3ff; font: 13px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.instruction-markdown ul, .instruction-markdown ol { margin: 0 0 18px; padding: 0 0 0 24px; display: grid; gap: 7px; }
.instruction-markdown li { padding-left: 3px; color: #5d6370; font-size: 14px; line-height: 1.65; }
.instruction-markdown li::marker { color: #756ae2; font-weight: 800; }
.instruction-markdown pre { margin: 12px 0 18px; padding: 16px; overflow-x: auto; border-radius: 9px; color: #e3e8ef; background: #20242d; }
.instruction-markdown pre code { padding: 0; border: 0; color: inherit; background: transparent; font-size: 13px; }
.instruction-markdown blockquote, .instruction-markdown .instruction-attention { margin: 14px 0 18px; padding: 13px 15px; border: 0; border-left: 3px solid #e39a43; border-radius: 0 8px 8px 0; color: #79562e; background: #fff7ec; font-size: 14px; line-height: 1.65; }
.instruction-markdown hr { height: 1px; margin: 28px 0; border: 0; background: #e8e9ec; }
.instruction-markdown .instruction-rule-list { margin: 0 0 30px; padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; list-style: none; }
.instruction-markdown .instruction-rule-list li { min-width: 0; min-height: 60px; padding: 11px 13px; display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 10px; border: 1px solid #e3e1f4; border-radius: 10px; color: #505665; background: #faf9ff; font-size: 13px; line-height: 1.55; }
.instruction-rule-list li::before { content: '\2713'; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 7px; color: #5f54d0; background: #ece9ff; font-size: 13px; font-weight: 900; }
.instruction-rule-list li.critical { border-color: #f0d9bb; color: #694e2e; background: #fffaf2; }
.instruction-rule-list li.critical::before { content: '!'; color: #a76825; background: #f9e8d1; }
.instruction-definition-list { margin: 0 0 30px; display: grid; gap: 8px; }
.instruction-definition { min-width: 0; padding: 12px 14px; display: grid; grid-template-columns: minmax(180px, 31%) minmax(0, 1fr); align-items: start; gap: 18px; border: 1px solid #e5e7eb; border-radius: 9px; background: #fcfcfd; }
.instruction-definition dt, .instruction-definition dd { min-width: 0; margin: 0; }
.instruction-definition dt code { padding: 0; border: 0; color: #594dc5; background: transparent; font-size: 13px; font-weight: 750; }
.instruction-definition dd { color: #5b626f; font-size: 13px; line-height: 1.6; }
.instruction-definition-copy { display: block; padding-top: 1px; }
.instruction-value-set { display: flex; gap: 5px; flex-wrap: wrap; }
.instruction-value-set > span { padding: 3px 7px; border: 1px solid #dcebe7; border-radius: 12px; color: #287666; background: #f0f8f6; font: 650 11px/1.4 'Manrope', sans-serif; overflow-wrap: anywhere; }

/* Inventário e classificação das bases usadas pelos Genies */
.classification-page { gap: 14px; }
.classification-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.classification-source-note { min-height: 76px; padding: 15px 18px; display: flex; align-items: center; gap: 12px; border: 1px solid #dfe1f1; border-radius: 12px; color: #575e6b; background: linear-gradient(135deg, #faf9ff, #f8fbfc); }
.classification-source-note > svg { flex: 0 0 auto; color: #6255e7; }
.classification-source-note > div { min-width: 0; flex: 1; }
.classification-source-note strong { color: #3f4551; font-size: 15px; }
.classification-source-note p { margin: 3px 0 0; color: #747a86; font-size: 13px; line-height: 1.5; }
.classification-taxonomy-note { min-height: 66px; padding: 13px 18px; display: flex; align-items: center; gap: 12px; border: 1px solid #d9e9e3; border-radius: 12px; color: #52605d; background: #f6fbf9; }
.classification-taxonomy-note > svg { flex: 0 0 auto; color: #24806b; }
.classification-taxonomy-note > div { min-width: 0; flex: 1; }
.classification-taxonomy-note strong { color: #3f4b48; font-size: 14px; }
.classification-taxonomy-note p { margin: 3px 0 0; color: #767d7b; font-size: 12px; line-height: 1.45; }
.classification-taxonomy-items { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.classification-taxonomy-items > span { padding: 5px 7px; display: inline-flex; align-items: center; gap: 5px; border: 1px solid #dae7e2; border-radius: 7px; color: #61706c; background: #fff; font-size: 11px; }
.classification-taxonomy-items > span.incomplete { border-color: #ecd9af; color: #8b5b1f; }
.classification-taxonomy-items b { color: inherit; }
.classification-taxonomy-items small { color: #9b6c32; font-size: 10px; }
.classification-syncing { flex: 0 0 auto; padding: 6px 9px; display: inline-flex; align-items: center; gap: 5px; border-radius: 12px; color: #8b612c; background: #faeddc; font-size: 11px; font-weight: 700; white-space: nowrap; }
.classification-syncing.ready { color: #287766; background: #e8f5f1; }
.classification-panel { overflow: hidden; }
.classification-toolbar { min-height: 84px; padding: 17px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); }
.classification-toolbar h2 { margin: 0; color: #373c48; font: 700 18px 'Manrope', sans-serif; }
.classification-toolbar h2 small { margin-left: 7px; color: #969ba5; font: 500 13px 'Inter', sans-serif; }
.classification-filters { justify-content: flex-end; flex-wrap: wrap; }
.classification-filters .search-field { width: min(330px, 32vw); }
.classification-table { min-width: 1210px; table-layout: fixed; }
.classification-table th:nth-child(1) { width: 31%; }
.classification-table th:nth-child(2) { width: 17%; }
.classification-table th:nth-child(3) { width: 13%; }
.classification-table th:nth-child(4) { width: 15%; }
.classification-table th:nth-child(5) { width: 14%; }
.classification-table th:nth-child(6) { width: 150px; }
.classification-table td { height: 100px; }
.classification-table-name { min-width: 0; display: flex; align-items: flex-start; gap: 10px; }
.classification-table-name > span { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; color: #337a97; background: #e7f2f6; }
.classification-table-name > div { min-width: 0; }
.classification-table-name strong { display: block; overflow: hidden; color: #3f4551; font: 700 13px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; text-overflow: ellipsis; }
.classification-table-name small { display: -webkit-box; margin-top: 3px; overflow: hidden; color: #8a909b; font-size: 11px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.classification-genies { display: flex; gap: 5px; flex-wrap: wrap; }
.classification-genies span { max-width: 100%; padding: 4px 7px; overflow: hidden; border-radius: 10px; color: #5a51bd; background: #efedfd; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.classification-treatment, .classification-read-state { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 11px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.classification-treatment.anonymized { color: #267d6e; background: #e8f5f1; }
.classification-treatment.pseudonymized { color: #2b718c; background: #e9f4f8; }
.classification-treatment.original { color: #9a3f49; background: #fdebec; }
.classification-treatment.mixed { color: #996126; background: #fbf0e2; }
.classification-treatment.unknown { color: #717681; background: #eceef1; }
.classification-read-state.loading { color: #6c62d2; background: #efedfd; }
.classification-read-state.unavailable { color: #996126; background: #fbf0e2; }
.classification-source { min-width: 0; display: grid; gap: 3px; }
.classification-source strong { overflow: hidden; color: #515763; font-size: 12px; line-height: 1.35; text-overflow: ellipsis; }
.classification-source small { color: #9297a1; font-size: 10px; line-height: 1.35; }
.classification-actions { display: grid; gap: 6px; }
.classification-actions .button, .classification-actions .table-governance-button { width: 100%; min-height: 34px; padding-inline: 8px; justify-content: center; white-space: nowrap; }
.classification-edit-button { font-size: 12px; }
.classification-modal { width: min(660px, calc(100vw - 28px)); }
.classification-target { margin: 20px 24px 0; padding: 13px 14px; display: flex; align-items: flex-start; gap: 10px; border: 1px solid #e1e4e9; border-radius: 10px; background: #fafbfc; }
.classification-target > span { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; color: #337a97; background: #e5f2f6; }
.classification-target > div { min-width: 0; display: grid; gap: 3px; }
.classification-target strong { color: #414753; font: 700 13px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.classification-target small { color: #8a909b; font-size: 11px; line-height: 1.4; }
.classification-modal .form-grid label > small { margin-top: 5px; color: #8a909b; font-size: 11px; font-weight: 400; line-height: 1.4; }
.classification-current-tags { margin: 18px 24px 0; overflow: hidden; border: 1px solid #e3e5e9; border-radius: 10px; }
.classification-current-tags > div:first-child { padding: 11px 13px; display: grid; gap: 3px; border-bottom: 1px solid #e7e8eb; background: #fafafb; }
.classification-current-tags > div:first-child strong { color: #454b57; font-size: 13px; }
.classification-current-tags > div:first-child small { color: #8b909a; font-size: 11px; }
.classification-current-tags .uc-tag-list { min-height: 50px; }
.classification-no-tags { align-self: center; color: #8c919b; font-size: 12px; }
.classification-write-preview { margin: 12px 24px 0; padding: 12px 13px; display: flex; align-items: flex-start; gap: 10px; border: 1px solid #dedaf5; border-radius: 10px; color: #5d53c7; background: #f8f7ff; }
.classification-write-preview > span { flex: 0 0 auto; }
.classification-write-preview > div { min-width: 0; display: grid; gap: 5px; }
.classification-write-preview strong { color: #4b456f; font-size: 12px; }
.classification-write-preview code { color: #5c51c5; font: 12px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.classification-protection-note { color: #78562e; background: #fff8ee; }

/* Tela completa de classificação e evidências por tabela */
.classification-table tr[data-classification-row] { cursor: pointer; }
.classification-table tr[data-classification-row]:focus-visible { outline: 2px solid #9188eb; outline-offset: -2px; }
.classification-open-button { min-width: 142px; font-size: 11px; line-height: 1.25; white-space: normal !important; }
.classification-detail-page { gap: 14px; }
.detail-breadcrumb { display: flex; align-items: center; gap: 6px; color: #9297a2; font-size: 12px; }
.detail-breadcrumb button { padding: 0; border: 0; color: #6255e7; background: transparent; font: 700 12px 'Inter', sans-serif; cursor: pointer; }
.detail-breadcrumb span { max-width: 620px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.classification-detail-loading { min-height: 420px; display: grid; place-content: center; justify-items: center; gap: 8px; color: #777d89; text-align: center; }
.classification-detail-loading > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; color: #6255e7; background: #eeecff; }
.classification-detail-loading h3, .classification-detail-loading p { margin: 0; }
.classification-detail-loading h3 { color: #424854; font-size: 16px; }
.classification-detail-loading p { max-width: 520px; font: 12px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.classification-detail-hero { min-height: 112px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow); }
.classification-detail-hero.conflict { border-color: #ecd9af; background: linear-gradient(135deg, #fff, #fffaf1); }
.classification-detail-title { min-width: 0; display: flex; align-items: center; gap: 14px; }
.classification-detail-title > div { min-width: 0; }
.classification-detail-title h2 { margin: 3px 0 4px; color: #303641; font: 750 20px/1.25 'Manrope', sans-serif; }
.classification-detail-title p { margin: 0; color: #7f8590; font: 12px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.classification-detail-summary { flex: 0 0 auto; display: grid; justify-items: end; gap: 7px; }
.classification-detail-summary small { max-width: 300px; color: #8a909b; font-size: 11px; text-align: right; }
.classification-detail-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(40,44,55,.035); }
.classification-detail-stats article { min-height: 72px; padding: 14px 18px; display: grid; align-content: center; gap: 2px; border-right: 1px solid var(--line); }
.classification-detail-stats article:last-child { border-right: 0; }
.classification-detail-stats strong { color: #3e4450; font: 750 19px 'Manrope', sans-serif; }
.classification-detail-stats span { color: #8b909a; font-size: 11px; }
.classification-detail-evidence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.classification-detail-evidence > article { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.classification-detail-evidence header { min-height: 46px; padding: 10px 13px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #eceef1; background: #fafafb; }
.classification-detail-evidence header > div { display: flex; align-items: center; gap: 8px; color: #6255e7; }
.classification-detail-evidence header strong { color: #474d59; font-size: 13px; }
.classification-detail-evidence header em { min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 11px; color: #6255e7; background: #eceaff; font-size: 11px; font-style: normal; font-weight: 750; }
.data-architecture-card { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 18px; padding: 13px 16px; border: 1px solid #dedcf8; border-radius: 12px; background: linear-gradient(135deg, #fbfaff, #f7fbff); }
.data-architecture-card h3 { margin: 3px 0 2px; color: #343947; font: 750 14px 'Manrope', sans-serif; }
.data-architecture-card p, .data-architecture-status small { margin: 0; color: #7c8290; font-size: 11px; line-height: 1.45; }
.data-architecture-status { display: grid; justify-items: end; gap: 5px; }
.protection-plan-modal { width: min(780px, calc(100vw - 28px)); }
.protection-plan-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 16px 0; }
.protection-plan-summary article { display: grid; gap: 4px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfc; }
.protection-plan-summary span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.protection-plan-summary strong { color: var(--text); font-size: 13px; }
.protection-plan-copy { margin: 0 0 12px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.protection-plan-warnings, .protection-plan-blockers { display: grid; gap: 6px; margin-top: 12px; }
.protection-plan-warnings p, .protection-plan-blockers p { display: flex; align-items: flex-start; gap: 7px; margin: 0; padding: 9px 10px; border-radius: 8px; font-size: 11px; }
.protection-plan-warnings p { color: #78562e; background: #fff8ee; }
.protection-plan-blockers p { color: #a63b48; background: #fff0f2; }
.classification-modal .data-product-field { grid-column: 1 / -1; }
.classification-detail-empty { min-height: 58px; padding: 15px; display: flex; align-items: center; color: #8b909a; font-size: 12px; }
.classification-detail-statuses { min-height: 58px; padding: 12px 13px; display: flex; align-content: flex-start; gap: 6px; flex-wrap: wrap; }
.detail-status { padding: 5px 8px; display: inline-flex; align-items: center; gap: 5px; border-radius: 12px; font-size: 10px; font-style: normal; font-weight: 700; line-height: 1.4; }
.detail-status.success { color: #287766; background: #e8f5f1; }
.detail-status.warning { color: #8b612c; background: #faeddc; }
.detail-status.danger { color: #9c4b55; background: #fbeaec; }
.detail-status.neutral { color: #69707c; background: #eef0f3; }
.classification-columns-panel { overflow: hidden; }
.classification-columns-toolbar { min-height: 92px; padding: 17px 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }
.classification-columns-toolbar h2 { margin: 2px 0 3px; color: #373c48; font: 700 18px 'Manrope', sans-serif; }
.classification-columns-toolbar h2 small { margin-left: 6px; color: #969ba5; font: 500 12px 'Inter', sans-serif; }
.classification-columns-toolbar p { margin: 0; color: #888e99; font-size: 11px; }
.classification-columns-toolbar code { color: #6255e7; font-size: 11px; }
.classification-column-filters { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.classification-column-filters .search-field { width: min(320px, 28vw); }
.classification-columns-table-wrap { width: 100%; overflow-x: auto; }
.classification-columns-table { width: 100%; min-width: 1380px; border-collapse: collapse; table-layout: fixed; }
.classification-columns-table th { height: 46px; padding: 10px 13px; color: #858b96; background: #fafafb; border-bottom: 1px solid var(--line); font-size: 11px; font-weight: 700; text-align: left; text-transform: uppercase; letter-spacing: .035em; }
.classification-columns-table td { min-height: 92px; padding: 13px; vertical-align: top; border-bottom: 1px solid #eceef1; color: #5d6470; font-size: 12px; }
.classification-columns-table tbody tr:last-child td { border-bottom: 0; }
.classification-columns-table tbody tr.changed { background: #faf9ff; box-shadow: inset 3px 0 #6a5ce7; }
.classification-columns-table th:nth-child(1) { width: 20%; }
.classification-columns-table th:nth-child(2) { width: 10%; }
.classification-columns-table th:nth-child(3) { width: 15%; }
.classification-columns-table th:nth-child(4) { width: 17%; }
.classification-columns-table th:nth-child(5) { width: 38%; }
.classification-columns-table td > code { color: #59616e; font: 11px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.classification-column-name { min-width: 0; display: grid; justify-items: start; gap: 4px; }
.classification-column-name strong { color: #3e4551; font: 700 13px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.classification-column-name small { display: -webkit-box; overflow: hidden; color: #8b919c; font-size: 11px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.column-protection { margin-top: 3px; padding: 4px 6px; display: inline-flex; align-items: center; gap: 4px; border-radius: 9px; color: #287766; background: #e8f5f1; font-size: 10px; font-weight: 700; }
.column-protection.warning { color: #9c4b55; background: #fbeaec; }
.column-drift-stack { margin-top: 3px; display: grid; justify-items: start; gap: 4px; }
.column-drift-stack > span { padding: 4px 6px; display: inline-flex; align-items: center; gap: 4px; border-radius: 8px; color: #9c4b55; background: #fbeaec; font-size: 10px; font-weight: 700; line-height: 1.35; }
.column-detection-stack, .column-tag-stack { display: flex; align-items: flex-start; gap: 5px; flex-wrap: wrap; }
.column-detection-stack > span, .column-tag-stack > span { max-width: 100%; padding: 4px 6px; display: inline-flex; align-items: center; gap: 4px; border: 1px solid #e0def4; border-radius: 8px; color: #5d54bd; background: #f5f3ff; font: 650 10px/1.35 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.column-tag-stack > span { border-color: #dbe9e5; color: #397566; background: #f3faf8; }
.column-detection-stack small { width: 100%; color: #959aa4; font-size: 10px; }
.column-no-tag { color: #999ea7; font-size: 11px; }
.column-classification-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.column-classification-controls label { min-width: 0; display: grid; gap: 4px; color: #7c828e; font-size: 10px; font-weight: 700; }
.column-classification-controls select { width: 100%; min-width: 0; height: 34px; padding: 0 25px 0 8px; border: 1px solid #dfe2e7; border-radius: 8px; color: #4f5662; background: #fff; font: 600 11px 'Inter', sans-serif; }
.column-classification-controls .full-access-group { grid-column: 1 / -1; }
.column-classification-controls .full-access-group > span { display: block; margin-bottom: 4px; color: #7c828e; font-size: 10px; font-weight: 700; }
.multi-group-picker { position: relative; }
.multi-group-picker summary { height: 34px; display: flex; align-items: center; padding: 0 30px 0 9px; overflow: hidden; border: 1px solid #dfe2e7; border-radius: 8px; color: #4f5662; background: #fff; font: 600 11px 'Inter', sans-serif; white-space: nowrap; text-overflow: ellipsis; cursor: pointer; list-style: none; }
.multi-group-picker summary::-webkit-details-marker { display: none; }
.multi-group-picker summary::after { content: '⌄'; position: absolute; right: 10px; color: #8c919b; font-size: 13px; }
.multi-group-picker[open] summary { border-color: #786bf0; box-shadow: 0 0 0 2px rgba(98,85,231,.1); }
.multi-group-picker > div { position: absolute; z-index: 20; top: calc(100% + 4px); left: 0; right: 0; max-height: 190px; padding: 5px; overflow-y: auto; border: 1px solid #dfe2e7; border-radius: 9px; background: #fff; box-shadow: 0 12px 28px rgba(32,37,46,.15); }
.multi-group-picker > div label { display: flex; grid-template-columns: none; align-items: center; gap: 7px; padding: 7px; border-radius: 6px; color: #4f5662; font-size: 10px; cursor: pointer; }
.multi-group-picker > div label:hover { background: #f4f2ff; }
.multi-group-picker > div label.missing { color: #a54852; background: #fff3f4; }
.multi-group-picker > div input { width: 14px; height: 14px; accent-color: #6255e7; }
.multi-group-picker > div small { margin-left: auto; color: #969ba5; font-weight: 500; }
.multi-group-picker.disabled summary { color: #a2a7af; background: #f3f4f6; cursor: not-allowed; }
.column-classification-controls select:disabled { color: #a2a7af; background: #f3f4f6; cursor: not-allowed; }
.column-classification-controls > small { grid-column: 1 / -1; color: #8f949e; font-size: 10px; }
.classification-columns-table tr.changed .column-classification-controls > small { color: #6255e7; font-weight: 700; }
.column-classification-readonly { display: grid; gap: 4px; }
.column-classification-readonly strong { color: #4b515d; font-size: 12px; }
.column-classification-readonly small { color: #8e949f; font-size: 11px; }
.classification-save-bar { min-height: 72px; padding: 13px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line); background: #fafafb; }
.classification-save-bar > div { display: grid; gap: 3px; }
.classification-save-bar strong { color: #444a56; font-size: 13px; }
.classification-save-bar small { color: #8a909b; font-size: 11px; }
.classification-evidence-actions { display: flex; align-items: center; gap: 7px; }
.tag-manage-button { min-height: 26px; padding: 4px 8px; display: inline-flex; align-items: center; justify-content: center; gap: 4px; border: 1px solid #dcd9f4; border-radius: 7px; color: #5d52d2; background: #fff; font-size: 10px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.tag-manage-button:hover { border-color: #bdb6ef; background: #f5f3ff; }
.column-tags-cell { display: grid; justify-items: start; gap: 8px; }
.column-tags-cell .tag-manage-button { color: #367664; border-color: #d5e7e1; }
.column-tags-cell .tag-manage-button:hover { border-color: #a9d2c6; background: #f0f9f6; }

/* Editor de etiquetas do Unity Catalog */
.data-tag-modal { width: min(660px, calc(100vw - 28px)); }
.data-tag-target { margin: 14px 16px 0; padding: 11px 13px; display: flex; align-items: center; gap: 10px; border: 1px solid #e2e3e8; border-radius: 9px; background: #fafafb; }
.data-tag-target > span { width: 31px; height: 31px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; color: #5f54d2; background: #eeecff; }
.data-tag-target > div { min-width: 0; display: grid; gap: 2px; }
.data-tag-target small { color: #8b909a; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.data-tag-target strong { color: #444a56; font: 700 13px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.data-tag-target em { color: #9499a3; font: 10px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.data-tag-list { margin: 12px 16px 0; overflow: hidden; border: 1px solid #e2e3e8; border-radius: 9px; }
.data-tag-list > header { min-height: 37px; padding: 8px 11px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e7e8ec; background: #fafafb; }
.data-tag-list > header strong { color: #4d535f; font-size: 12px; }
.data-tag-list > header span { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 10px; color: #6055d2; background: #eceaff; font-size: 10px; font-weight: 750; }
.data-tag-list > div { max-height: 170px; overflow-y: auto; }
.data-tag-row { min-height: 58px; padding: 9px 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #eceef1; background: #fff; }
.data-tag-row:last-child { border-bottom: 0; }
.data-tag-row.protected { background: #fafbfc; }
.data-tag-row > div:first-child { min-width: 0; display: grid; grid-template-columns: auto auto; align-items: center; justify-content: start; gap: 3px 8px; }
.data-tag-key { min-width: 0; display: inline-flex; align-items: center; gap: 5px; color: #4e45b7; font: 700 12px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.data-tag-row.protected .data-tag-key { color: #65707c; }
.data-tag-value { padding: 3px 6px; border-radius: 6px; color: #4f725f; background: #eff8f4; font: 600 11px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.data-tag-row > div:first-child > small { grid-column: 1 / -1; color: #9398a2; font-size: 10px; }
.data-tag-readonly { flex: 0 0 auto; padding: 4px 7px; border-radius: 9px; color: #737b87; background: #eceef1; font-size: 10px; font-weight: 700; }
.data-tag-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 5px; }
.data-tag-actions button, .data-tag-edit-state button { padding: 5px 7px; display: inline-flex; align-items: center; gap: 4px; border: 1px solid #dedfe5; border-radius: 7px; color: #626976; background: #fff; font-size: 10px; font-weight: 700; cursor: pointer; }
.data-tag-actions button:hover { border-color: #c3c0ea; color: #5f54d2; background: #f7f6ff; }
.data-tag-actions button.danger { color: #9b4b54; }
.data-tag-actions button.danger:hover { border-color: #e6bcc1; background: #fff4f5; }
.data-tag-actions button:disabled { opacity: .55; cursor: wait; }
.data-tag-empty { min-height: 66px; display: flex; align-items: center; justify-content: center; gap: 7px; color: #90959f; font-size: 11px; }
.data-tag-library { margin: 10px 16px 0; overflow: hidden; border: 1px solid #e2e3e8; border-radius: 9px; background: #fff; }
.data-tag-library > header { min-height: 43px; padding: 7px 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #e7e8ec; background: #fafafb; }
.data-tag-library > header > div:first-child { min-width: 0; display: grid; gap: 2px; }
.data-tag-library > header strong { color: #4d535f; font-size: 12px; }
.data-tag-library > header small { color: #9196a0; font-size: 10px; }
.data-tag-library-search { width: 150px; height: 29px; padding: 0 8px; display: flex; align-items: center; gap: 5px; border: 1px solid #dedfe5; border-radius: 7px; color: #90959f; background: #fff; }
.data-tag-library-search input { width: 100%; min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; color: #515762; background: transparent; font-size: 11px; }
#data-tag-library-results { max-height: 190px; overflow-y: auto; }
.data-tag-library-row { min-height: 52px; padding: 8px 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #eceef1; }
.data-tag-library-row:last-child { border-bottom: 0; }
.data-tag-library-row > div:first-child { min-width: 120px; display: grid; gap: 3px; }
.data-tag-library-row strong { color: #4b515d; font: 700 12px/1.35 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.data-tag-library-row small { color: #9297a1; font-size: 10px; }
.data-tag-library-values { display: flex; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }
.data-tag-library-values button { padding: 4px 7px; border: 1px solid #d8e7e1; border-radius: 7px; color: #397566; background: #f3faf8; font: 650 10px/1.35 ui-monospace, SFMono-Regular, Consolas, monospace; cursor: pointer; }
.data-tag-library-values button:hover { border-color: #a9d2c6; background: #e9f6f2; }
.data-tag-library-loading, .data-tag-library-error { min-height: 60px; padding: 12px; display: flex; align-items: center; justify-content: center; gap: 7px; color: #858b96; font-size: 11px; text-align: center; }
.data-tag-library-error { color: #98515a; background: #fff8f8; }
.data-tag-library-warning { padding: 6px 10px; display: block; color: #8a632e; border-bottom: 1px solid #f0dfc3; background: #fffaf2; font-size: 10px; line-height: 1.4; }
.data-tag-modal form { margin-top: 12px; border-top: 1px solid #e5e6ea; }
.data-tag-modal .form-grid label > small { color: #979ca5; font-size: 10px; font-weight: 500; }
.data-tag-modal input[readonly] { color: #747a85; background: #f0f1f3; cursor: not-allowed; }
.data-tag-edit-state { margin: 9px 0 0; padding: 7px 9px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-radius: 7px; color: #6459cc; background: #f2f0ff; font-size: 11px; }
.data-tag-edit-state[hidden] { display: none; }
.data-tag-edit-state button { color: #5d52d2; border-color: #d6d2f2; background: #fff; }
.data-tag-modal .form-note { margin-top: 12px; }

@media (max-width: 620px) {
  .data-tag-library > header, .data-tag-library-row { align-items: stretch; flex-direction: column; }
  .data-tag-library-search { width: 100%; }
  .data-tag-library-values { justify-content: flex-start; }
}

/* Catálogos tabulares de Genies e grupos */
.genie-list-table { min-width: 1220px; table-layout: fixed; }
.genie-list-table th:nth-child(1) { width: 25%; }
.genie-list-table th:nth-child(2) { width: 9%; }
.genie-list-table th:nth-child(3) { width: 15%; }
.genie-list-table th:nth-child(4) { width: 11%; }
.genie-list-table th:nth-child(5) { width: 17%; }
.genie-list-table th:nth-child(6) { width: 15%; }
.genie-list-table th:nth-child(7) { width: 124px; }
.genie-list-table td, .group-list-table td { height: 88px; }
.genie-list-table tr[data-genie-row], .group-list-table tr[data-group-row] { cursor: pointer; }
.genie-list-table tr[data-genie-row]:focus-visible, .group-list-table tr[data-group-row]:focus-visible { outline: 2px solid #9188eb; outline-offset: -2px; }
.genie-table-identity, .group-table-identity { min-width: 0; display: flex; align-items: center; gap: 10px; }
.genie-table-identity > div, .group-table-identity > div { min-width: 0; }
.genie-table-identity strong, .group-table-identity strong { display: block; overflow: hidden; color: #3d424e; font: 700 14px/1.4 'Manrope', sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.genie-table-identity small, .group-table-identity small { display: -webkit-box; margin-top: 3px; overflow: hidden; color: #8b909a; font-size: 11px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.genie-table-data, .genie-table-access, .genie-table-context, .group-table-genies { min-width: 0; display: grid; justify-items: start; gap: 5px; }
.genie-table-data > strong, .genie-table-access > strong, .genie-table-context > strong, .group-table-genies > strong { max-width: 100%; overflow: hidden; color: #4b515d; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.genie-table-access small, .genie-table-context small, .group-table-genies small { max-width: 100%; overflow: hidden; color: #90959f; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.genie-table-data .data-exposure { max-width: 100%; }
.genie-owner-cell { min-width: 0; display: flex; align-items: center; gap: 8px; }
.genie-owner-cell > span:last-child { min-width: 0; display: grid; gap: 3px; }
.genie-owner-cell strong, .genie-owner-cell small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.genie-owner-cell strong { color: #515763; font-size: 12px; }
.genie-owner-cell small { color: #979ba4; font-size: 10px; }
.table-row-action { width: 100%; min-height: 36px; padding-inline: 10px; justify-content: center; white-space: nowrap; }
.group-directory-panel { overflow: hidden; }
.group-directory-panel .directory-toolbar > div:first-child { display: grid; gap: 4px; }
.group-directory-panel .directory-toolbar > div:first-child > strong { color: #454a56; font-size: 14px; }
.group-list-table { min-width: 1080px; table-layout: fixed; }
.group-list-table th:nth-child(1) { width: 28%; }
.group-list-table th:nth-child(2) { width: 12%; }
.group-list-table th:nth-child(3) { width: 17%; }
.group-list-table th:nth-child(4) { width: 18%; }
.group-list-table th:nth-child(5) { width: 16%; }
.group-list-table th:nth-child(6) { width: 125px; }
.group-table-members { display: grid; gap: 6px; }
.group-table-members .avatar-pile { min-height: 29px; }
.group-table-members strong { color: #5b616d; font-size: 12px; }
.group-permission-summary { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.group-permission-summary .permission-tag { padding: 4px 6px; font-size: 10px; }

.sidebar, .main-area { transition: width .2s ease, padding-left .2s ease; }
.sidebar-toggle { position: absolute; top: 28px; right: -14px; z-index: 2; width: 28px; height: 28px; border-color: #343947; border-radius: 50%; color: #c5c9d3; background: #20242e; box-shadow: 0 5px 16px rgba(15,18,25,.22); }
.sidebar-toggle:hover { color: #fff; background: #2a2f3b; }
.sidebar-toggle svg { width: 14px; height: 14px; transform: rotate(180deg); transition: transform .2s ease; }
.profile-copy { max-width: 190px; }
.profile-copy strong, .profile-copy small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#profile-dropdown-department { margin-top: 2px; font-size: 12px; line-height: 1.4; white-space: normal; }

/* Painel de evidências do Unity Catalog */
.table-governance-drawer { display: flex; flex-direction: column; overflow: hidden; }
.table-governance-drawer .drawer-header { flex: 0 0 auto; height: auto; min-height: 96px; padding-block: 17px; background: rgba(255,255,255,.98); }
.table-governance-drawer .drawer-header > div { min-width: 0; padding-right: 20px; }
.table-governance-drawer .drawer-header h2 { overflow: hidden; line-height: 1.3; overflow-wrap: anywhere; text-overflow: ellipsis; }
.table-governance-drawer .drawer-header small { display: block; max-width: 620px; margin-top: 4px; overflow: hidden; color: #8a909b; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; text-overflow: ellipsis; }
.table-governance-drawer .close-overlay { flex: 0 0 auto; }
.table-governance-body { flex: 1; min-height: 0; padding: 20px 24px 28px; overflow-y: auto; scrollbar-color: #bdc2cc transparent; scrollbar-width: thin; }
.table-governance-body .table-governance-hero { margin: 0; padding: 16px 18px; border-color: #e0e1e7; border-radius: 12px; background: linear-gradient(135deg, #fbfbfd, #f7f7fb); }
.table-governance-body .table-governance-hero.conflict { border-color: #e9b7b2; background: #fff8f7; }
.table-governance-hero > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.table-governance-hero .classification-badge { padding: 6px 9px; font-size: 12px; }
.table-governance-hero > div > small { color: #777d88; font-size: 12px; font-weight: 600; text-align: right; }
.table-governance-hero p { margin: 11px 0 0; color: #555b67; font-size: 15px; line-height: 1.55; }
.table-context-grid { margin-top: 12px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.table-context-grid > div { min-width: 0; min-height: 76px; padding: 14px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); background: #fff; }
.table-context-grid > div:last-child { border-right: 0; }
.table-context-grid span { color: #8a909b; font-size: 12px; }
.table-context-grid strong { margin-top: 5px; color: #434955; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
.table-governance-body .protection-grid { margin: 12px 0 0; border-radius: 12px; }
.table-governance-body .protection-grid > div { min-height: 72px; padding: 10px 7px; }
.table-governance-body .protection-grid strong { color: #313641; font-size: 21px; }
.table-governance-body .protection-grid span { max-width: 120px; margin-top: 4px; color: #7c828e; font-size: 12px; line-height: 1.3; }
.governance-evidence-section, .governance-columns-section { margin-top: 24px; }
.table-governance-body .detail-section-title { min-height: 46px; }
.uc-evidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.uc-evidence-card { min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; overflow: hidden; }
.uc-evidence-card > header { min-height: 58px; padding: 11px 13px; display: flex; align-items: center; justify-content: space-between; gap: 9px; border-bottom: 1px solid #e8e9ed; background: #fafbfc; }
.uc-evidence-card > header > div { min-width: 0; display: flex; align-items: center; gap: 8px; }
.uc-evidence-card h4 { margin: 0; color: #3f4551; font: 700 14px 'Manrope', sans-serif; }
.evidence-icon { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; color: #277d9f; background: #e8f3f8; }
.evidence-icon.protected { color: #5f54d2; background: #efedfd; }
.uc-read-status { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border-radius: 10px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.uc-read-status.available { color: #247764; background: #e8f5f1; }
.uc-read-status.unavailable { color: #9a6229; background: #fbf0e2; }
.uc-tag-list { padding: 13px; display: flex; align-content: flex-start; gap: 7px; flex-wrap: wrap; }
.uc-tag { max-width: 100%; display: inline-flex; align-items: center; border: 1px solid #dedbef; border-radius: 8px; overflow: hidden; color: #544bc0; background: #f5f3ff; font-size: 12px; }
.uc-tag b, .uc-tag em, .uc-tag small { padding: 6px 8px; overflow-wrap: anywhere; }
.uc-tag b { font-weight: 700; }
.uc-tag em { border-left: 1px solid #dedbef; color: #626875; background: #fff; font-style: normal; }
.uc-tag small { border-left: 1px solid #dedbef; color: #777d88; background: #fafafa; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.uc-protection-list { padding: 6px 13px; }
.uc-protection-list article { min-height: 55px; padding: 9px 0; display: flex; align-items: flex-start; gap: 9px; border-bottom: 1px solid #eceef1; }
.uc-protection-list article:last-child { border-bottom: 0; }
.uc-protection-list article > span { width: 28px; height: 28px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 7px; color: #5f54ce; background: #f0eefe; }
.uc-protection-list article > div { min-width: 0; display: grid; gap: 3px; }
.uc-protection-list strong { color: #444a56; font-size: 13px; overflow-wrap: anywhere; }
.uc-protection-list small { color: #777d88; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.uc-detection-list { padding: 6px 13px; }
.uc-detection-list article { min-height: 52px; padding: 9px 0; display: flex; align-items: flex-start; gap: 9px; border-bottom: 1px solid #eceef1; }
.uc-detection-list article:last-child { border-bottom: 0; }
.uc-detection-list article > span { width: 27px; height: 27px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 7px; color: #b04940; background: #fff0ee; }
.uc-detection-list article > div { min-width: 0; display: grid; gap: 3px; }
.uc-detection-list strong { color: #444a56; font-size: 13px; overflow-wrap: anywhere; }
.uc-detection-list small { color: #777d88; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.uc-empty-evidence { min-height: 88px; padding: 17px; display: flex; flex-direction: column; justify-content: center; gap: 4px; color: #767c88; background: #fff; }
.uc-empty-evidence strong { color: #4e545f; font-size: 14px; }
.uc-empty-evidence span { font-size: 12px; line-height: 1.5; }
.uc-empty-evidence.warning { color: #8b652f; background: #fffaf2; }
.uc-empty-evidence.warning strong { color: #805820; }
.table-governance-body .sensitive-columns { border-radius: 12px; }
.table-governance-body .sensitive-columns article { min-height: 60px; padding: 11px 13px; }
.table-governance-body .sensitive-columns strong { color: #3f4551; font-size: 14px; }
.table-governance-body .sensitive-columns small { font-size: 12px; }
.table-governance-body .column-label { padding: 5px 8px; font-size: 11px; white-space: nowrap; }
.table-governance-body .data-limitations { margin-top: 16px; padding: 13px 14px; border: 1px solid #e2e4e8; background: #f6f7f9; }
.table-governance-body .data-limitations svg { flex: 0 0 auto; margin-top: 1px; color: #697180; }
.table-governance-body .data-limitations p { color: #656c78; font-size: 13px; line-height: 1.55; }
.table-governance-drawer > .drawer-footer { flex: 0 0 auto; padding: 13px 24px; box-shadow: 0 -7px 18px rgba(35,40,52,.035); }

/* Estados de interação consistentes em todas as telas */
.button, .icon-button, .text-button, .table-governance-button, .pagination-button, .pagination-pages button { transition: color .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.button:not(:disabled):active, .icon-button:not(:disabled):active, .pagination-button:not(:disabled):active, .pagination-pages button:not(:disabled):active { transform: translateY(1px); }
.panel, .stat-card, .genie-management-card, .group-card { scroll-margin-top: 96px; }
.loading-state, .error-state, .empty-state { padding-inline: 24px; text-align: center; }

@media (min-width: 861px) {
  body.sidebar-collapsed .sidebar { width: 78px; padding-inline: 10px; }
  body.sidebar-collapsed .main-area { padding-left: 78px; }
  body.sidebar-collapsed .brand { padding-inline: 0; justify-content: center; }
  body.sidebar-collapsed .brand-copy,
  body.sidebar-collapsed .nav-label,
  body.sidebar-collapsed .sidebar nav button > span:not([data-icon]),
  body.sidebar-collapsed .sidebar nav button > em,
  body.sidebar-collapsed .sidebar-footer > button > span:not([data-icon]),
  body.sidebar-collapsed .support-card { display: none; }
  body.sidebar-collapsed .sidebar nav button,
  body.sidebar-collapsed .sidebar-footer > button { padding: 0; justify-content: center; gap: 0; }
  body.sidebar-collapsed .nav-label-spaced + button { margin-top: 18px; }
  body.sidebar-collapsed .sidebar-toggle svg { transform: rotate(0); }
}

@media (max-width: 1180px) {
  .access-matrix { grid-template-columns: 205px minmax(0, 1fr); }
  .access-genie-table { min-width: var(--genie-min-width-medium, 175px); }
  .access-table th, .access-table td { padding-inline: 8px; }
  .access-table .user-column { width: 205px; }
  .access-table th.user-column, .access-table td.user-column { padding-left: 12px; }
  .genie-heading { gap: 6px; }
  .genie-icon { width: 28px; height: 28px; border-radius: 7px; }
  .genie-icon svg { width: 14px; height: 14px; }
  .permission-cell.permission-select { padding-inline: 6px; }
  .permission-select .permission-symbol { width: 24px; height: 24px; }
  .permission-select small { display: none; }
  .directory-toolbar { align-items: stretch; flex-direction: column; }
  .directory-toolbar .search-field { width: 100%; }
  .directory-filters { flex-wrap: wrap; }
  .directory-filters .result-count { margin-left: auto; }
  .catalog-toolbar { align-items: stretch; flex-direction: column; }
  .catalog-filters .search-field { flex: 1; }
  .classification-toolbar { align-items: stretch; flex-direction: column; }
  .classification-filters { justify-content: flex-start; }
  .classification-filters .search-field { flex: 1; width: auto; }
  .classification-columns-toolbar { align-items: stretch; flex-direction: column; }
  .classification-column-filters { justify-content: flex-start; }
  .classification-column-filters .search-field { flex: 1; width: auto; }
}

@media (max-width: 860px) {
  .sidebar-toggle { display: none !important; }
  .classification-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .classification-detail-hero { align-items: flex-start; flex-direction: column; }
  .classification-detail-summary { width: 100%; justify-items: start; }
  .classification-detail-summary small { text-align: left; }
  .classification-detail-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .classification-detail-stats article:nth-child(2) { border-right: 0; }
  .classification-detail-stats article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .classification-detail-evidence { grid-template-columns: minmax(0, 1fr); }
  .main-area { padding-left: 0; }
  .page-wrap { padding: 28px 20px 42px; }
  .topbar { height: 64px; padding-inline: 18px; }
  .access-matrix { grid-template-columns: 180px minmax(0, 1fr); }
  .access-genie-table { min-width: var(--genie-min-width-medium, 175px); }
  .access-table .user-column { width: 180px; }
  .access-table th, .access-table td { padding-inline: 5px; }
  .access-table th.user-column, .access-table td.user-column { padding-left: 9px; }
  .genie-heading { display: grid; gap: 5px; }
  .permission-cell.permission-select { justify-content: center; }
  .permission-select .permission-symbol { display: none; }
  .permission-cell .cell-chevron { margin-left: 3px; }
  .instructions-layout { grid-template-columns: minmax(0, 1fr); }
  .instruction-outline { position: static; max-height: none; }
  .instruction-outline nav { max-height: 220px; }
  .table-governance-body { padding-inline: 20px; }
  .table-context-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .table-context-grid > div:nth-child(2) { border-right: 0; }
  .table-context-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .uc-evidence-grid { grid-template-columns: minmax(0, 1fr); }
  .access-journey-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .access-journey-flow article:nth-child(2) { border-right: 0; }
  .access-journey-flow article:nth-child(-n+2) { border-bottom: 1px solid #e7e8ec; }
}

@media (max-width: 600px) {
  .page-heading h1 { font-size: 27px; }
  .page-heading p { font-size: 15px; }
  .heading-actions { flex-wrap: wrap; }
  .directory-filters, .catalog-filters, .classification-filters { align-items: stretch; flex-direction: column; }
  .directory-filters .select-field, .catalog-filters .select-field, .catalog-filters .search-field, .classification-filters .select-field, .classification-filters .search-field { width: 100%; }
  .directory-filters .result-count { margin-left: 0; }
  .classification-stats { grid-template-columns: minmax(0, 1fr); }
  .classification-detail-stats { grid-template-columns: minmax(0, 1fr); }
  .classification-detail-stats article { border-right: 0; border-bottom: 1px solid var(--line); }
  .classification-detail-stats article:nth-child(3) { border-bottom: 1px solid var(--line); }
  .classification-detail-stats article:last-child { border-bottom: 0; }
  .classification-column-filters { align-items: stretch; flex-direction: column; }
  .classification-column-filters .search-field, .classification-column-filters .select-field { width: 100%; }
  .classification-save-bar { align-items: stretch; flex-direction: column; }
  .classification-save-bar .button { width: 100%; justify-content: center; }
  .classification-impact-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .access-impact-list > div { align-items: flex-start; flex-direction: column; gap: 4px; }
  .access-impact-list small { flex-basis: auto; text-align: left; }
  .uc-correction-actions { grid-template-columns: minmax(0, 1fr); }
  .uc-correction-actions .button, .uc-correction-actions .text-button { width: 100%; grid-column: 1; justify-self: stretch; justify-content: center; }
  .permission-options.compact, .journey-layer-list { grid-template-columns: minmax(0, 1fr); }
  .access-journey-flow { grid-template-columns: minmax(0, 1fr); }
  .access-journey-flow article { border-right: 0; border-bottom: 1px solid #e7e8ec; }
  .access-journey-flow article:last-child { border-bottom: 0; }
  .classification-source-note, .classification-taxonomy-note { align-items: flex-start; flex-wrap: wrap; }
  .classification-syncing { margin-left: 31px; }
  .table-pagination { align-items: flex-start; flex-direction: column; }
  .pagination-actions { width: 100%; flex-wrap: wrap; }
  .pagination-actions label { margin-right: auto; }
  .ldap-email-form > div { align-items: stretch; flex-direction: column; }
  .ldap-email-form .button { width: 100%; justify-content: center; }
  .section-toolbar { align-items: stretch; flex-direction: column; }
  .section-toolbar .search-field { width: 100%; }
  .matrix-mode-bar p { font-size: 13px; }
  .access-flow-guide { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .access-flow-guide > svg { display: none; }
  .access-flow-guide strong { font-size: 13px; }
  .access-flow-guide small { font-size: 11px; }
  .mapping-notice { align-items: flex-start; flex-wrap: wrap; }
  .mapping-notice .button { width: 100%; justify-content: center; }
  .matrix-toolbar { padding: 12px; }
  .matrix-summary { padding-inline: 12px; }
  .matrix-summary .legend { display: none; }
  .access-matrix { grid-template-columns: 128px minmax(0, 1fr); }
  .access-genie-table { min-width: var(--genie-min-width-compact, 165px); }
  .access-table .user-column { width: 128px; }
  .access-table thead tr, .access-table th { height: 82px; }
  .access-table th { padding: 5px; }
  .access-table td { height: 58px; padding: 5px 3px; }
  .access-table th.user-column, .access-table td.user-column { padding-left: 7px; }
  .genie-heading { display: flex; justify-content: flex-start; }
  .genie-heading > div { display: block; }
  .genie-heading .genie-icon { display: grid; }
  .genie-heading .data-exposure { display: none; }
  .user-cell, .user-summary-button { gap: 6px; }
  .user-cell .group-icon, .user-summary-button .avatar { display: none; }
  .user-cell strong, .user-summary-button strong { display: -webkit-box; font-size: 12px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .user-cell small, .user-summary-button small, .scope-badge, .status-badge, .user-summary-button > svg { display: none; }
  .permission-cell.permission-select { height: 48px; min-width: 0; padding: 3px; }
  .permission-select .permission-symbol { width: 24px; height: 24px; display: grid; }
  .permission-select > span:nth-child(2) { display: grid; }
  .permission-select small { display: none; }
  .matrix-data-status { max-width: 96px; margin-top: 2px; padding: 1px 3px; font-size: 10px; }
  .matrix-data-status svg { display: none; }
  .permission-cell .cell-chevron { display: block; }
  .matrix-footer { align-items: flex-start; flex-direction: column; gap: 5px; }
  .genie-page-content .genie-detail-body { padding: 20px 16px; }
  .genie-page-content .genie-summary-grid { grid-template-columns: 1fr; }
  .instruction-list .instruction-document { padding: 20px 17px; }
  .instruction-markdown h3 { font-size: 17px; }
  .instruction-markdown h4 { font-size: 14px; }
  .instruction-markdown .instruction-rule-list { grid-template-columns: minmax(0, 1fr); }
  .instruction-definition { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .toast { right: 16px; bottom: 16px; }
  .settings-card-heading { align-items: stretch; flex-direction: column; }
  .settings-card-heading .button { width: 100%; justify-content: center; }
  .system-admin-row { grid-template-columns: 38px minmax(0, 1fr) auto; }
  .admin-source { display: none; }
  .system-admin-result { grid-template-columns: 38px minmax(0, 1fr); }
  .system-admin-result > i { grid-column: 2; justify-self: start; }
  .user-access-hero { align-items: flex-start; flex-wrap: wrap; margin-inline: 14px; }
  .user-access-hero .button { width: 100%; }
  .user-organization { margin-inline: 14px; grid-template-columns: minmax(0, 1fr); }
  .user-access-totals, .user-groups, .user-genie-access { margin-inline: 14px; }
  .group-governance-flow { margin-inline: 14px; align-items: flex-start; flex-direction: column; }
  .group-governance-flow > svg { display: none; }
  .group-genie-list { padding-inline: 14px; grid-template-columns: minmax(0, 1fr); }
  .table-governance-drawer .drawer-header { min-height: 88px; padding: 14px 16px; }
  .table-governance-drawer .drawer-header h2 { font-size: 17px; }
  .table-governance-drawer .drawer-header small { display: -webkit-box; font-size: 11px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .table-governance-body { padding: 14px 14px 22px; }
  .table-governance-hero > div { align-items: flex-start; flex-direction: column; gap: 7px; }
  .table-governance-hero > div > small { text-align: left; }
  .table-context-grid { grid-template-columns: minmax(0, 1fr); }
  .table-context-grid > div { min-height: 62px; border-right: 0; border-bottom: 1px solid var(--line); }
  .table-context-grid > div:nth-child(3) { border-bottom: 1px solid var(--line); }
  .table-context-grid > div:last-child { border-bottom: 0; }
  .table-governance-body .protection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .table-governance-body .protection-grid > div { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .table-governance-body .protection-grid > div:nth-child(2) { border-right: 0; }
  .table-governance-body .protection-grid > div:nth-child(n+3) { border-bottom: 0; }
  .table-governance-body .protection-grid > div:last-child { border-right: 0; }
  .uc-evidence-card > header { align-items: flex-start; }
  .table-governance-body .sensitive-columns article { align-items: flex-start; flex-direction: column; }
  .table-governance-drawer > .drawer-footer { padding-inline: 14px; }
  .table-governance-drawer > .drawer-footer .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Dashboard compacto: tokens e densidade visual */
:root {
  --ink: #1f2937;
  --muted: #6b7280;
  --line: #e5e7eb;
  --panel: #fff;
  --sidebar: #171a23;
  --purple: #635bdb;
  --purple-dark: #5148c7;
  --purple-soft: #f2f0ff;
  --green: #137c68;
  --amber: #b86724;
  --blue: #237a9d;
  --danger: #b54753;
  --surface: #f7f8fa;
  --surface-soft: #fafbfc;
  --radius: 9px;
  --radius-sm: 7px;
  --control-height: 32px;
  --shadow: 0 1px 2px rgba(16, 24, 40, .035), 0 5px 16px rgba(16, 24, 40, .025);
}

html { background: var(--surface); }
body { color: var(--ink); background: var(--surface); font-size: 14px; line-height: 1.4; }
::selection { color: #2f276f; background: #ddd9ff; }
* { scrollbar-color: #c8ccd4 transparent; scrollbar-width: thin; }
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: #c8ccd4; background-clip: padding-box; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 2px solid rgba(99, 91, 219, .34); outline-offset: 1px; }

/* Estrutura */
.sidebar { width: 220px; padding: 0 10px 11px; border-right: 1px solid rgba(255,255,255,.04); }
.brand { height: 60px; margin-bottom: 7px; padding: 0 9px; gap: 9px; }
.brand-symbol { width: 31px; height: 31px; border-radius: 8px; box-shadow: 0 4px 12px rgba(99,91,219,.24); }
.brand-symbol svg { width: 16px; height: 16px; }
.brand > div { gap: 5px; }
.brand strong { font-size: 16px; letter-spacing: -.3px; }
.brand small { font-size: 10px; letter-spacing: 1.35px; }
.nav-label { padding: 9px 10px 5px; font-size: 10px; letter-spacing: 1.25px; }
.nav-label-spaced { margin-top: 8px; padding-top: 12px; }
.sidebar nav button, .sidebar-footer > button { height: 36px; padding: 0 10px; gap: 9px; border-radius: 7px; font-size: 13px; }
.sidebar nav button > span:first-child svg, .sidebar-footer > button > span:first-child svg { width: 16px; height: 16px; }
.sidebar nav button.active { background: rgba(116,103,239,.15); box-shadow: inset 2px 0 0 #8277f2; }
.sidebar nav button em { padding: 1px 6px; font-size: 10px; }
.sidebar-footer { padding-top: 6px; border-top: 1px solid rgba(255,255,255,.055); }
.support-card { margin-top: 7px; padding: 8px 10px; border: 0; border-radius: 7px; background: rgba(255,255,255,.035); }
.support-card .support-icon, .support-card > strong, .support-card > span { display: none; }
.support-card a { width: 100%; justify-content: space-between; color: #9e97ef; font-size: 11px; }
.sidebar-toggle { top: 17px; right: -12px; width: 24px; height: 24px; }

.main-area { padding-left: 220px; }
.topbar { height: 54px; padding: 0 22px; border-color: var(--line); background: rgba(255,255,255,.9); backdrop-filter: blur(16px) saturate(1.2); }
.workspace-switcher { gap: 7px; font-size: 13px; }
.workspace-mark { width: 28px; height: 28px; border-radius: 7px; }
.workspace-mark svg { width: 15px; height: 15px; }
.topbar-actions { gap: 7px; }
.source-pill { padding: 5px 8px; font-size: 11px; background: #f3f5f7; }
.profile-button { height: 38px; gap: 7px; padding-left: 11px; }
.profile-copy { min-width: 88px; max-width: 170px; }
.profile-copy strong { font-size: 12px; }
.profile-copy small { font-size: 10px; }
.profile-dropdown { width: 240px; padding: 13px; border-radius: 9px; box-shadow: 0 14px 36px rgba(15,23,42,.14); }
.profile-dropdown > strong { font-size: 13px; }
.profile-dropdown > span, .profile-dropdown button { font-size: 11px; }

.page-wrap { max-width: 1840px; padding: 19px 22px 28px; }
.page-heading { align-items: center; gap: 16px; margin-bottom: 15px; }
.eyebrow, .section-kicker { margin-bottom: 4px; font-size: 10px; letter-spacing: 1.25px; }
.page-heading h1 { font-size: 22px; letter-spacing: -.5px; }
.page-heading p { max-width: 760px; margin-top: 4px; font-size: 12px; line-height: 1.4; }
.heading-actions { gap: 7px; }
.content-stack, .groups-layout { gap: 12px; }

/* Biblioteca de componentes */
.panel, .stat-card, .genie-stats > div, .classification-detail-hero { border-color: var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.button { min-height: var(--control-height); padding: 0 11px; gap: 5px; border-radius: var(--radius-sm); font-size: 12px; }
.button svg { width: 14px; height: 14px; }
.button.primary { box-shadow: 0 3px 9px rgba(99,91,219,.16); }
.icon-button { width: 31px; height: 31px; border-radius: 7px; }
.text-button { font-size: 12px; }
.search-field, .select-field { height: var(--control-height); border-color: #dfe2e7; border-radius: var(--radius-sm); }
.search-field { width: min(330px, 100%); padding: 0 9px; }
.search-field input, .select-field select { font-size: 12px; }
.select-field { min-width: 142px; padding: 0 8px; }
.compact-select { min-width: 122px; }
.avatar { width: 29px; height: 29px; font-size: 10px; border-width: 1px; }
.avatar-small { width: 27px; height: 27px; font-size: 10px; }
.state-pill, .classification-badge, .data-exposure, .classification-gap, .classification-treatment, .classification-read-state { padding: 3px 6px; font-size: 10px; }
.empty-state { min-height: 160px; }
.empty-state h3 { font-size: 14px; }
.empty-state p { font-size: 11px; }

/* Dashboard */
.stats-grid { gap: 9px; }
.stat-card { min-height: 82px; padding: 13px; }
.stat-icon { width: 32px; height: 32px; border-radius: 8px; }
.stat-icon svg { width: 16px; height: 16px; }
.stat-copy { margin-left: 10px; }
.stat-copy > span { font-size: 11px; }
.stat-copy > strong { margin: 0 0 1px; font-size: 20px; }
.stat-copy small { font-size: 10px; }
.overview-grid { gap: 9px; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); }
.overview-access, .recent-panel { padding: 15px; }
.panel-title-row h2 { font-size: 15px; }
.genie-bars { gap: 11px; margin-top: 14px; }
.genie-bar { gap: 8px; }
.mini-genie { width: 28px; height: 28px; border-radius: 7px; font-size: 11px; }
.bar-main > div:first-child { margin-bottom: 4px; font-size: 11px; }
.bar-track { height: 4px; }
.risk-compact { margin-top: 10px; }
.risk-compact button { min-height: 46px; padding: 8px 2px; }
.risk-compact strong { font-size: 12px; }
.risk-compact small { font-size: 10px; }
.governance-callout, .people-intro { min-height: 52px; margin-bottom: 10px; padding: 10px 13px; border-radius: var(--radius); }
.governance-callout strong, .people-intro strong { font-size: 12px; }
.governance-callout p, .people-intro small { font-size: 11px; }

/* Barras, filtros e paginação */
.matrix-mode-bar { min-height: 44px; margin-bottom: 9px; padding: 6px 7px; border-radius: var(--radius); }
.matrix-mode-bar button { height: 29px; padding: 0 10px; font-size: 11px; }
.matrix-mode-bar button em { font-size: 10px; }
.matrix-mode-bar p { font-size: 11px; }
.matrix-toolbar, .directory-toolbar, .catalog-toolbar, .classification-toolbar, .audit-toolbar, .section-toolbar { min-height: 54px; padding: 10px 12px; gap: 9px; }
.catalog-toolbar h2, .classification-toolbar h2, .audit-toolbar h2, .health-summary h2, .settings-card h2 { font-size: 15px; }
.catalog-toolbar h2 small, .classification-toolbar h2 small { font-size: 11px; }
.directory-filters, .catalog-filters, .classification-filters { gap: 6px; }
.result-count { font-size: 11px; }
.result-count strong { font-size: 12px; }
.matrix-summary { min-height: 34px; padding: 0 12px; font-size: 10px; }
.legend { gap: 11px; }
.dot { width: 6px; height: 6px; }
.table-pagination { min-height: 42px; padding: 6px 12px; font-size: 10px; }
.pagination-actions { gap: 4px; }
.pagination-actions select, .pagination-button, .pagination-pages button { height: 28px; }
.pagination-button, .pagination-pages button { width: 28px; border-radius: 6px; font-size: 10px; }

/* Tabelas compactas */
.directory-table th { height: 36px; padding: 0 12px; font-size: 11px; background: var(--surface-soft); }
.directory-table td { height: 54px; padding: 7px 12px; font-size: 12px; }
.directory-table tbody tr { transition: background .12s ease, box-shadow .12s ease; }
.directory-table tbody tr:hover { background: #fafaff; box-shadow: inset 2px 0 var(--purple); }
.directory-table .user-cell small { max-width: 220px; }
.user-cell { gap: 8px; }
.user-cell strong, .user-summary-button strong { font-size: 12px; line-height: 1.2; }
.user-cell small, .user-summary-button small { margin-top: 2px; font-size: 10px; }
.org-stack { gap: 2px; }
.org-stack strong { font-size: 11px; }
.org-stack small { font-size: 10px; }
.group-stack > span { width: 24px; height: 24px; font-size: 10px; }
.genie-list-table td, .group-list-table td { height: 62px; }
.genie-table-identity, .group-table-identity { gap: 8px; }
.genie-table-identity strong, .group-table-identity strong { font-size: 12px; }
.genie-table-identity small, .group-table-identity small { margin-top: 2px; font-size: 10px; -webkit-line-clamp: 1; }
.genie-table-data, .genie-table-access, .genie-table-context, .group-table-genies { gap: 3px; }
.genie-table-data > strong, .genie-table-access > strong, .genie-table-context > strong, .group-table-genies > strong { font-size: 11px; }
.genie-table-access small, .genie-table-context small, .group-table-genies small { font-size: 10px; }
.genie-owner-cell strong { font-size: 11px; }
.genie-owner-cell small { font-size: 10px; }
.group-table-members { gap: 3px; }
.group-table-members .avatar-pile { min-height: 24px; }
.group-table-members strong { font-size: 11px; }
.table-row-action, .user-access-button { min-height: 29px; padding: 0 8px; font-size: 11px; }
.classification-table td { height: 68px; }
.classification-table-name { gap: 8px; }
.classification-table-name > span { width: 27px; height: 27px; border-radius: 7px; }
.classification-table-name strong { font-size: 11px; line-height: 1.35; }
.classification-table-name small { margin-top: 2px; font-size: 10px; -webkit-line-clamp: 1; }
.classification-genies span { padding: 3px 6px; font-size: 10px; }
.classification-source { gap: 2px; }
.classification-source strong { font-size: 11px; }
.classification-source small { font-size: 10px; }
.classification-actions { gap: 4px; }
.classification-actions .button, .classification-actions .table-governance-button { min-height: 28px; font-size: 10px; }
.classification-open-button { min-width: 118px; }

/* Matriz */
.access-matrix { grid-template-columns: clamp(196px, 19%, 240px) minmax(0, 1fr); }
.access-table thead tr, .access-table th { height: 66px; }
.access-table tbody tr, .access-table td { height: 55px; }
.access-table th { padding: 7px 9px; font-size: 11px; }
.access-table td { padding: 5px 9px; }
.access-table .user-column { width: clamp(196px, 19%, 240px); }
.access-table th.user-column, .access-table td.user-column { padding-left: 12px; }
.access-principal-table .user-cell { max-height: 44px; }
.genie-icon { width: 28px; height: 28px; border-radius: 7px; }
.genie-icon svg { width: 14px; height: 14px; }
.genie-heading { gap: 6px; }
.genie-heading strong { font-size: 11px; -webkit-line-clamp: 2; }
.genie-heading small { margin-top: 1px; font-size: 10px; }
.permission-cell.permission-select { height: 42px; padding: 4px 6px; border-radius: 7px; }
.permission-select .permission-symbol { width: 23px; height: 23px; }
.permission-select b { font-size: 11px; }
.permission-select small { font-size: 10px; }
.matrix-data-status { max-width: 104px; font-size: 10px; }
.matrix-footer { min-height: 36px; padding: 7px 12px; font-size: 10px; }

/* Catálogos, detalhe do Genie e instruções */
.genie-page { gap: 10px; }
.genie-stats { gap: 8px; }
.genie-stats > div { min-height: 64px; padding: 10px 12px; gap: 8px; }
.genie-stats strong { font-size: 18px; }
.genie-stats small { margin-top: 1px; font-size: 11px; }
.genie-page-hero { min-height: 94px; padding: 16px 18px; }
.genie-page-identity { gap: 10px; }
.genie-page-identity .genie-icon { width: 42px; height: 42px; border-radius: 10px; }
.genie-page-identity h2 { font-size: 18px; }
.genie-page-identity p { margin-top: 4px; font-size: 12px; }
.detail-tabs { padding: 0 12px; gap: 1px; }
.detail-tabs button { height: 38px; padding: 0 10px; font-size: 11px; }
.genie-page-content .genie-detail-body, .genie-detail-body { padding: 15px 16px 20px; }
.genie-governance-banner { margin: 0 0 12px; padding: 9px 11px; }
.genie-governance-banner > span:last-child, .data-scope-note { font-size: 11px; }
.genie-summary-grid { gap: 7px; }
.genie-summary-grid > div { min-height: 61px; padding: 9px; }
.genie-summary-grid span { font-size: 10px; }
.genie-summary-grid strong { margin-top: 3px; font-size: 12px; }
.genie-summary-grid small { font-size: 10px; }
.genie-summary-grid + .detail-section { margin-top: 14px; }
.detail-section-title { min-height: 33px; }
.detail-section-title h3 { font-size: 13px; }
.detail-section-title p, .detail-section-title > span { font-size: 10px; }
.governance-summary > div { min-height: 68px; }
.governance-summary strong { font-size: 14px; }
.governance-summary span { font-size: 10px; }
.source-list article { min-height: 60px; padding: 9px 10px; }
.source-list strong { font-size: 11px; }
.source-list p, .source-list article > small { font-size: 10px; }
.instruction-list, .question-list, .sql-example-list { gap: 6px; }
.instructions-layout { margin-top: 10px; grid-template-columns: 190px minmax(0, 1fr); gap: 10px; }
.instruction-outline { top: 68px; border-radius: var(--radius); }
.instruction-outline > div { min-height: 40px; padding: 0 10px; }
.instruction-outline > div strong { font-size: 11px; }
.instruction-outline nav { padding: 5px; }
.instruction-outline a { min-height: 26px; padding: 5px 7px 5px 10px; font-size: 10px; }
.instruction-list { gap: 10px; }
.instruction-list .instruction-document { padding: 18px 20px; border-radius: var(--radius); box-shadow: none; }
.instruction-document > .instruction-document-label { margin-bottom: 11px; padding: 3px 7px; font-size: 10px; }
.instruction-markdown h3 { margin: 21px 0 8px; padding-bottom: 7px; font-size: 15px; }
.instruction-markdown h4 { margin: 16px 0 7px; font-size: 14px; }
.instruction-markdown p { margin-bottom: 9px; font-size: 12px; line-height: 1.6; }
.instruction-markdown code { font-size: 11px; }
.instruction-markdown ul, .instruction-markdown ol { margin-bottom: 12px; gap: 4px; }
.instruction-markdown li { font-size: 12px; line-height: 1.5; }
.instruction-markdown pre { margin: 8px 0 12px; padding: 11px; }
.instruction-markdown pre code { font-size: 11px; }
.instruction-markdown blockquote, .instruction-markdown .instruction-attention { margin: 9px 0 12px; padding: 9px 11px; font-size: 12px; line-height: 1.5; }
.instruction-markdown hr { margin: 18px 0; }
.instruction-markdown .instruction-rule-list { margin-bottom: 18px; gap: 6px; }
.instruction-markdown .instruction-rule-list li { min-height: 44px; padding: 8px 9px; grid-template-columns: 20px minmax(0, 1fr); gap: 7px; font-size: 11px; }
.instruction-rule-list li::before { width: 19px; height: 19px; font-size: 11px; }
.instruction-definition-list { margin-bottom: 18px; gap: 5px; }
.instruction-definition { padding: 8px 10px; gap: 12px; font-size: 11px; }
.instruction-definition dt code, .instruction-definition dd { font-size: 11px; }

/* Classificação */
.classification-source-note { min-height: 54px; padding: 10px 12px; gap: 9px; border-radius: var(--radius); }
.classification-source-note strong { font-size: 12px; }
.classification-source-note p { margin-top: 2px; font-size: 11px; }
.classification-taxonomy-note { min-height: 48px; padding: 9px 12px; border-radius: var(--radius); }
.classification-taxonomy-note strong { font-size: 12px; }
.classification-taxonomy-note p { font-size: 10px; }
.classification-taxonomy-items { margin-top: 5px; gap: 4px; }
.classification-taxonomy-items > span { padding: 3px 6px; font-size: 10px; }
.classification-detail-page { gap: 9px; }
.classification-detail-hero { min-height: 78px; padding: 13px 15px; gap: 15px; }
.classification-detail-title { gap: 10px; }
.classification-detail-title h2 { font-size: 15px; }
.classification-detail-title p, .classification-detail-summary small { font-size: 10px; }
.classification-detail-stats { border-radius: var(--radius); }
.classification-detail-stats article { min-height: 55px; padding: 9px 12px; }
.classification-detail-stats strong { font-size: 15px; }
.classification-detail-stats span { font-size: 10px; }
.classification-detail-evidence { gap: 8px; }
.classification-detail-evidence > article { border-radius: var(--radius); }
.classification-detail-evidence header { min-height: 39px; padding: 7px 10px; }
.classification-detail-evidence header strong { font-size: 11px; }
.classification-detail-empty, .classification-detail-statuses { min-height: 44px; padding: 9px 10px; font-size: 10px; }
.classification-columns-toolbar { min-height: 62px; padding: 10px 12px; gap: 10px; }
.classification-columns-toolbar h2 { font-size: 15px; }
.classification-columns-toolbar p, .classification-columns-toolbar code { font-size: 10px; }
.classification-column-filters { gap: 6px; }
.classification-columns-table th { height: 36px; padding: 7px 9px; font-size: 10px; }
.classification-columns-table td { min-height: 68px; padding: 8px 9px; font-size: 11px; }
.classification-column-name { gap: 2px; }
.classification-column-name strong { font-size: 11px; }
.classification-column-name small { font-size: 10px; -webkit-line-clamp: 2; }
.column-classification-controls { gap: 5px; }
.column-classification-controls label { gap: 3px; font-size: 10px; }
.column-classification-controls select { height: 29px; font-size: 10px; }
.classification-save-bar { min-height: 50px; padding: 8px 12px; }
.classification-save-bar strong { font-size: 11px; }
.classification-save-bar small { font-size: 10px; }

/* Drawers e modais */
.overlay-dismiss, .modal-backdrop { background: rgba(17,24,39,.28); backdrop-filter: blur(2px); }
.drawer { width: min(460px, 100%); box-shadow: -14px 0 40px rgba(15,23,42,.15); }
.genie-detail-drawer, .user-access-drawer, .group-drawer, .table-governance-drawer { width: min(700px, 100vw); }
.drawer-header { height: 64px; padding: 0 16px; }
.drawer-header h2 { font-size: 15px; }
.drawer-person { margin: 13px 16px 9px; padding: 9px; }
.drawer-person strong, .access-toggle-row strong, .group-drawer-summary strong { font-size: 12px; }
.drawer-person small, .access-toggle-row small, .direct-access-note, .group-drawer-summary small { font-size: 10px; }
.drawer-genie { margin: 0 16px 10px; padding: 9px; }
.drawer-footer { padding: 9px 16px; gap: 6px; }
.modal-overlay { padding: 14px; }
.modal { width: min(470px, 100%); border-radius: 10px; box-shadow: 0 20px 55px rgba(15,23,42,.2); }
.modal-header { padding: 14px 16px 12px; }
.modal-header h2 { font-size: 15px; }
.modal-header p { margin-top: 3px; font-size: 10px; }
.modal form { padding: 14px 16px; }
.form-grid { gap: 9px; }
.form-grid label { gap: 4px; font-size: 10px; }
.form-grid input, .form-grid select, .form-grid textarea { padding: 7px 8px; border-radius: 6px; font-size: 11px; }
.form-note { margin-top: 10px; padding: 8px; font-size: 10px; }
.modal-actions { margin: 14px -16px -14px; padding: 9px 16px; border-radius: 0 0 10px 10px; }

/* Fluxo de acesso */
.access-journey-drawer { width: min(600px, 100%); }
.access-journey-flow { margin: 0 16px 9px; border-radius: var(--radius); }
.access-journey-flow article { min-height: 78px; padding: 8px; gap: 4px; }
.access-journey-flow article > span { width: 21px; height: 21px; }
.access-journey-flow article strong { font-size: 10px; }
.access-journey-flow article small { font-size: 10px; line-height: 1.35; }
.access-toggle-row { margin: 0 16px 9px; padding: 9px 10px; }
.permission-options { margin: 14px 16px; }
.permission-options legend { margin-bottom: 6px; font-size: 11px; }
.permission-options label { min-height: 50px; margin-bottom: 5px; padding: 7px 8px; }
.permission-options.compact { margin-block: 9px; gap: 5px; }
.permission-options.compact label { min-height: 58px; padding: 7px; }
.permission-option-copy strong { font-size: 11px; }
.permission-option-copy small { font-size: 10px; }
.journey-profile, .journey-preview { margin: 9px 16px; padding: 10px; border-radius: var(--radius); }
.journey-profile > div:first-child strong, .journey-preview header strong { font-size: 11px; }
.journey-profile > div:first-child small, .journey-preview header small { font-size: 10px; }
.data-profile-options { margin-top: 7px; gap: 5px; }
.data-profile-options label { min-height: 44px; padding: 7px 8px; }
.data-profile-options label > span { width: 25px; height: 25px; }
.data-profile-options strong { font-size: 11px; }
.data-profile-options small { font-size: 10px; }
.journey-column-list { max-height: 210px; margin-top: 7px; }
.journey-column-list > div { min-height: 38px; padding: 6px 2px; }
.journey-people-list { margin-top: 7px; padding-top: 5px; }
.journey-people-list > div { min-height: 37px; }
.journey-column-list .matrix-data-status, .journey-people-list .matrix-data-status { flex-shrink: 0; max-width: min(44%, 170px); white-space: normal; line-height: 1.3; text-align: center; }
.journey-table-diagnostics { margin: 7px 0; padding: 7px; gap: 4px; }
.journey-result { margin: 12px 15px 0; padding: 9px; }
.journey-result strong { font-size: 12px; }
.journey-result small { font-size: 10px; }
.journey-layer-list { margin: 9px 15px; gap: 6px; }
.journey-layer-list article { min-height: 54px; padding: 8px; gap: 6px; }
.journey-layer-list strong { font-size: 11px; }
.journey-layer-list small { font-size: 10px; }
.journey-layer-list em { font-size: 10px; }
.journey-errors { margin: 0 15px 8px; padding: 8px; }

/* Demais painéis operacionais */
.group-tip { min-height: 52px; padding: 10px 12px; }
.group-tip > span { width: 30px; height: 30px; }
.group-tip strong { font-size: 12px; }
.group-tip p, .group-tip button { font-size: 11px; }
.risk-stats { gap: 8px; }
.risk-stats article { min-height: 70px; padding: 11px; }
.risk-stats strong { font-size: 18px; }
.risk-stats small { font-size: 11px; }
.risk-panel-header, .health-summary { padding: 14px 16px; }
.risk-panel-header h2 { font-size: 15px; }
.risk-panel-header p, .health-summary p { font-size: 11px; }
.risk-list > button { min-height: 52px; padding: 9px 13px; }
.risk-list strong { font-size: 12px; }
.risk-list small { font-size: 10px; }
.audit-filters { min-height: 50px; padding: 8px 12px; }
.audit-list { padding: 0 14px; }
.audit-list article { min-height: 62px; grid-template-columns: 30px 1fr auto; gap: 9px; }
.audit-list p { margin-bottom: 3px; font-size: 12px; }
.audit-detail { padding: 2px 5px; font-size: 10px; }
.audit-context { margin-top: 3px; }
.audit-context em, .audit-context small, .audit-list time { font-size: 10px; }
.table-governance-drawer .drawer-header { min-height: 68px; padding: 11px 16px; }
.table-governance-drawer .drawer-header small { font-size: 10px; }
.table-governance-body { padding: 12px 16px 18px; }
.table-governance-body .table-governance-hero { padding: 10px 12px; border-radius: var(--radius); }
.table-governance-hero p { margin-top: 7px; font-size: 11px; }
.table-context-grid { margin-top: 8px; border-radius: var(--radius); }
.table-context-grid > div { min-height: 55px; padding: 9px; }
.table-context-grid span { font-size: 10px; }
.table-context-grid strong { margin-top: 3px; font-size: 11px; }
.table-governance-body .protection-grid { margin-top: 8px; }
.table-governance-body .protection-grid > div { min-height: 55px; padding: 7px 5px; }
.table-governance-body .protection-grid strong { font-size: 16px; }
.table-governance-body .protection-grid span { font-size: 10px; }
.governance-evidence-section, .governance-columns-section { margin-top: 14px; }
.uc-evidence-grid { gap: 8px; }
.uc-evidence-card { border-radius: var(--radius); }
.uc-evidence-card > header { min-height: 43px; padding: 8px 10px; }
.uc-evidence-card h4 { font-size: 12px; }
.uc-tag-list { padding: 9px; gap: 5px; }
.uc-tag { font-size: 10px; }
.uc-tag b, .uc-tag em, .uc-tag small { padding: 4px 6px; }
.uc-protection-list, .uc-detection-list { padding: 4px 9px; }
.uc-protection-list article, .uc-detection-list article { min-height: 42px; padding: 6px 0; }
.uc-protection-list strong, .uc-detection-list strong { font-size: 11px; }
.uc-protection-list small, .uc-detection-list small { font-size: 10px; }

@media (min-width: 861px) {
  body.sidebar-collapsed .sidebar { width: 64px; padding-inline: 8px; }
  body.sidebar-collapsed .main-area { padding-left: 64px; }
}

@media (max-width: 1180px) {
  .page-wrap { padding-inline: 16px; }
  .access-matrix { grid-template-columns: 184px minmax(0, 1fr); }
  .access-table .user-column { width: 184px; }
}

@media (max-width: 860px) {
  .sidebar { width: 220px; }
  .main-area { padding-left: 0; }
  .topbar { height: 52px; padding: 0 13px; }
  .page-wrap { padding: 15px 12px 24px; }
  .page-heading { align-items: flex-start; margin-bottom: 12px; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-grid { grid-template-columns: 1fr; }
  .classification-toolbar, .classification-columns-toolbar, .directory-toolbar, .catalog-toolbar { align-items: stretch; }
}

@media (max-width: 600px) {
  body { font-size: 13px; }
  .page-heading { gap: 10px; }
  .page-heading h1 { font-size: 19px; }
  .page-heading p { font-size: 11px; }
  .button { min-height: 32px; }
  .stats-grid { gap: 6px; }
  .stat-card { min-height: 72px; padding: 10px; }
  .stat-copy > strong { font-size: 18px; }
  .matrix-mode-bar { align-items: stretch; }
  .matrix-mode-bar p { font-size: 10px; }
  .access-matrix { grid-template-columns: 124px minmax(0, 1fr); }
  .access-table .user-column { width: 124px; }
  .access-table thead tr, .access-table th { height: 65px; }
  .access-table tbody tr, .access-table td { height: 52px; }
  .permission-cell.permission-select { height: 40px; }
  .genie-page-hero { padding: 13px; }
  .genie-page-identity .genie-icon { width: 36px; height: 36px; }
  .genie-page-identity h2 { font-size: 15px; }
  .instruction-list .instruction-document { padding: 14px 12px; }
  .classification-detail-hero { padding: 11px 12px; }
  .classification-columns-toolbar { padding: 9px 10px; }
  .drawer-header { height: 58px; padding-inline: 13px; }
  .drawer-person, .access-toggle-row, .journey-profile, .journey-preview { margin-inline: 13px; }
  .access-journey-flow { margin-inline: 13px; }
  .permission-options { margin-inline: 13px; }
  .table-governance-body { padding: 10px 12px 16px; }
}

@media (hover: none) and (pointer: coarse) {
  .button, .icon-button, .search-field, .select-field, .pagination-button, .pagination-pages button { min-height: 40px; }
  .sidebar nav button, .sidebar-footer > button { min-height: 42px; }
}

/* Dashboard operacional */
.dashboard-page { gap: 10px; }
.dashboard-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(130px, 1fr)); gap: 8px; }
.dashboard-kpi { min-width: 0; min-height: 78px; padding: 11px; display: flex; align-items: flex-start; gap: 9px; border: 1px solid var(--line); border-radius: var(--radius); color: inherit; background: #fff; box-shadow: var(--shadow); text-align: left; }
button.dashboard-kpi { cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
button.dashboard-kpi:hover { border-color: #cfcaf2; box-shadow: 0 5px 15px rgba(31,41,55,.06); transform: translateY(-1px); }
.dashboard-kpi > span:nth-child(2) { min-width: 0; flex: 1; display: grid; gap: 1px; }
.dashboard-kpi > svg { flex: 0 0 auto; align-self: center; color: #a0a5af; }
.dashboard-kpi-icon { width: 29px; height: 29px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; }
.dashboard-kpi-icon.violet { color: #5d52d2; background: #efedff; }
.dashboard-kpi-icon.blue { color: #247795; background: #e9f3f7; }
.dashboard-kpi-icon.green { color: #1f7967; background: #e8f4f0; }
.dashboard-kpi-icon.amber { color: #aa6528; background: #faf0e5; }
.dashboard-kpi small { overflow: hidden; color: #737a87; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-kpi strong { color: #252b36; font: 750 18px/1.25 'Manrope', sans-serif; letter-spacing: -.35px; }
.dashboard-kpi em { overflow: hidden; color: #9297a1; font-size: 10px; font-style: normal; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }

.dashboard-data-status { min-height: 40px; padding: 7px 10px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.dashboard-data-status > span { width: 24px; height: 24px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 7px; }
.dashboard-data-status > div { min-width: 0; flex: 1; display: flex; align-items: baseline; gap: 7px; }
.dashboard-data-status strong { color: #4a505c; font-size: 11px; }
.dashboard-data-status small { overflow: hidden; color: #858b96; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-data-status .text-button { flex: 0 0 auto; }
.dashboard-data-status.available { border-color: #d6e9e3; background: #f8fcfa; }
.dashboard-data-status.available > span { color: #207762; background: #e6f3ef; }
.dashboard-data-status.loading { border-color: #ddd9f4; background: #faf9ff; }
.dashboard-data-status.loading > span { color: #6255d7; background: #efedff; }
.dashboard-data-status.partial, .dashboard-data-status.unavailable { border-color: #edd9be; background: #fffaf3; }
.dashboard-data-status.partial > span, .dashboard-data-status.unavailable > span { color: #a46629; background: #faecd9; }
.dashboard-data-status.restricted > span { color: #69717f; background: #eef0f3; }

.dashboard-main-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); gap: 10px; }
.dashboard-lower-grid { display: grid; grid-template-columns: minmax(310px, 1.05fr) minmax(320px, 1.15fr) minmax(280px, .8fr); gap: 10px; }
.dashboard-usage-panel, .dashboard-ranking-panel, .dashboard-catalog-panel, .dashboard-access-panel, .dashboard-risk-panel { min-width: 0; padding: 13px; overflow: hidden; }
.dashboard-panel-header { min-height: 33px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.dashboard-panel-header h2 { margin: 0; color: #343a46; font: 700 14px/1.25 'Manrope', sans-serif; letter-spacing: -.15px; }
.dashboard-panel-header .section-kicker { margin-bottom: 3px; }
.dashboard-period, .dashboard-scope { flex: 0 0 auto; padding: 3px 6px; border-radius: 999px; color: #737986; background: #f1f2f5; font-size: 10px; font-weight: 600; }

.dashboard-usage-summary { height: 42px; display: flex; align-items: center; gap: 17px; }
.dashboard-usage-summary > div { display: grid; gap: 0; }
.dashboard-usage-summary strong { color: #303641; font: 750 14px 'Manrope', sans-serif; }
.dashboard-usage-summary span { color: #8c929d; font-size: 10px; }
.dashboard-usage-summary > small { margin-left: auto; color: #8c929d; font-size: 10px; }
.dashboard-usage-chart { height: 132px; padding: 8px 2px 0; display: grid; grid-template-columns: repeat(14, minmax(5px, 1fr)); align-items: end; gap: clamp(3px, .7vw, 9px); border-top: 1px solid #eceef1; }
.dashboard-usage-chart > div { height: 100%; min-width: 0; display: grid; grid-template-rows: minmax(0, 1fr) 16px; align-items: end; gap: 3px; }
.dashboard-usage-chart > div > span { height: 100%; display: flex; align-items: flex-end; border-radius: 4px 4px 2px 2px; background: linear-gradient(to top, #f5f4ff, transparent); }
.dashboard-usage-chart i { width: 100%; min-height: 2px; display: block; border-radius: 4px 4px 2px 2px; background: linear-gradient(180deg, #8075ec, #6255d7); transition: height .25s ease; }
.dashboard-usage-chart small { color: #999ea8; font-size: 10px; text-align: center; }

.dashboard-panel-empty { min-height: 132px; padding: 14px; display: flex; align-items: center; justify-content: center; gap: 7px; color: #8b919c; font-size: 11px; text-align: center; }
.dashboard-panel-empty.compact { min-height: 150px; }
.dashboard-ranking { margin-top: 5px; display: grid; }
.dashboard-ranking > button { width: 100%; min-height: 39px; padding: 5px 1px; display: grid; grid-template-columns: 19px minmax(0, 1fr) auto 13px; align-items: center; gap: 7px; border: 0; border-bottom: 1px solid #eef0f2; color: inherit; background: transparent; text-align: left; }
.dashboard-ranking > button:last-child { border-bottom: 0; }
.dashboard-ranking > button:hover { background: #faf9ff; }
.dashboard-ranking > button > b { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 6px; color: #665bd0; background: #f0eeff; font-size: 10px; }
.dashboard-ranking > button > span { min-width: 0; display: grid; gap: 4px; }
.dashboard-ranking strong { overflow: hidden; color: #4a505c; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-ranking span > i { height: 3px; overflow: hidden; border-radius: 3px; background: #edeef1; }
.dashboard-ranking span > i > em { display: block; height: 100%; border-radius: inherit; background: #7367df; }
.dashboard-ranking button > small { color: #858b96; font-size: 10px; line-height: 1.4; text-align: right; white-space: nowrap; }
.dashboard-ranking button > svg { color: #a2a7b0; }

.dashboard-coverage { min-height: 104px; display: flex; align-items: center; gap: 13px; }
.coverage-ring { width: 68px; height: 68px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#655adb var(--coverage), #eceef2 0); }
.coverage-ring::before { content: ''; width: 52px; height: 52px; grid-area: 1 / 1; border-radius: 50%; background: #fff; }
.coverage-ring > span { z-index: 1; grid-area: 1 / 1; display: grid; justify-items: center; }
.coverage-ring strong { color: #353b47; font: 750 14px 'Manrope', sans-serif; }
.coverage-ring small { color: #8e949f; font-size: 10px; }
.dashboard-coverage > div:last-child { min-width: 0; display: grid; justify-items: start; gap: 3px; }
.dashboard-coverage > div:last-child > strong { color: #474d59; font-size: 11px; }
.dashboard-coverage p { margin: 0; color: #858b96; font-size: 10px; line-height: 1.45; }
.dashboard-catalog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #eceef1; }
.dashboard-catalog-grid > div { min-width: 0; padding: 9px 6px 2px; display: grid; gap: 2px; border-right: 1px solid #eceef1; text-align: center; }
.dashboard-catalog-grid > div:last-child { border-right: 0; }
.dashboard-catalog-grid small { overflow: hidden; color: #8c929d; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-catalog-grid strong { color: #3c424e; font: 750 15px 'Manrope', sans-serif; }

.dashboard-access-grid { margin-top: 5px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.dashboard-access-grid > button { min-width: 0; min-height: 47px; padding: 7px 8px; display: grid; grid-template-columns: minmax(0, 1fr) 12px; align-items: center; gap: 2px 7px; border: 1px solid #e8eaed; border-radius: 7px; color: inherit; background: #fafbfc; text-align: left; }
.dashboard-access-grid > button:hover { border-color: #d4d0f0; background: #f8f7ff; }
.dashboard-access-grid > button > span { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.dashboard-access-grid small { overflow: hidden; color: #717886; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-access-grid strong { color: #343a46; font: 750 15px 'Manrope', sans-serif; }
.dashboard-access-grid em { overflow: hidden; color: #989da6; font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-access-grid > button > svg { grid-column: 2; grid-row: 1 / 3; color: #a1a6b0; }
.dashboard-risk-panel .risk-compact { margin-top: 3px; }
.dashboard-risk-panel .risk-compact button { min-height: 40px; }
.dashboard-risk-panel .dashboard-empty { min-height: 132px; display: grid; place-items: center; color: #7d847f; font-size: 11px; }

@media (max-width: 1440px) {
  .dashboard-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dashboard-lower-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-risk-panel { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
  .dashboard-main-grid, .dashboard-lower-grid { grid-template-columns: minmax(0, 1fr); }
  .dashboard-risk-panel { grid-column: auto; }
}

@media (max-width: 600px) {
  .dashboard-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .dashboard-kpi { min-height: 70px; padding: 9px; }
  .dashboard-kpi-icon { width: 26px; height: 26px; }
  .dashboard-kpi strong { font-size: 16px; }
  .dashboard-kpi em { font-size: 10px; }
  .dashboard-data-status > div { display: grid; gap: 1px; }
  .dashboard-data-status small { white-space: normal; }
  .dashboard-usage-summary { height: auto; padding: 7px 0; flex-wrap: wrap; }
  .dashboard-usage-summary > small { width: 100%; margin-left: 0; }
  .dashboard-usage-chart { height: 110px; gap: 3px; }
  .dashboard-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-catalog-grid > div:nth-child(2) { border-right: 0; }
  .dashboard-catalog-grid > div:nth-child(-n+2) { border-bottom: 1px solid #eceef1; }
}

/* Exploração de catálogo, linhagem e acesso efetivo */
.dashboard-governance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.dashboard-hierarchy-panel, .dashboard-lineage-panel, .dashboard-operations-panel, .dashboard-history-panel { min-width: 0; min-height: 250px; padding: 13px; overflow: hidden; }
.dashboard-panel-copy { margin: 2px 0 8px; color: #8a909b; font-size: 10px; line-height: 1.45; }
.dashboard-hierarchy-preview { display: grid; }
.dashboard-hierarchy-preview > button { min-height: 35px; padding: 5px 3px; display: grid; grid-template-columns: minmax(0, 1fr) auto 12px; align-items: center; gap: 8px; border: 0; border-bottom: 1px solid #eef0f2; color: inherit; background: transparent; text-align: left; }
.dashboard-hierarchy-preview > button:hover { background: #faf9ff; }
.dashboard-hierarchy-preview > button > span { min-width: 0; display: flex; align-items: center; gap: 7px; color: #6257d3; }
.dashboard-hierarchy-preview strong { overflow: hidden; color: #4a505c; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-hierarchy-preview small { color: #888e99; font-size: 10px; white-space: nowrap; }
.dashboard-hierarchy-preview > button > svg { color: #a2a7b0; }
.dashboard-inline-select { min-width: 140px; max-width: 235px; height: 28px; position: relative; display: flex; align-items: center; }
.dashboard-inline-select select { width: 100%; height: 100%; padding: 0 25px 0 9px; appearance: none; border: 1px solid #e2e4e9; border-radius: 7px; color: #59606c; background: #fff; font-size: 10px; font-weight: 600; }
.dashboard-inline-select > svg { position: absolute; right: 8px; pointer-events: none; color: #9298a3; }
.dashboard-lineage-flow { display: grid; gap: 4px; }
.dashboard-lineage-edge { min-width: 0; min-height: 29px; display: grid; grid-template-columns: minmax(90px, 1fr) 12px minmax(90px, 1fr) 12px minmax(100px, .8fr) auto; align-items: center; gap: 5px; }
.dashboard-lineage-edge:not(:has(button:nth-of-type(2))) { grid-template-columns: minmax(90px, 1fr) 12px minmax(100px, .8fr) auto; }
.dashboard-lineage-edge > button, .dashboard-lineage-edge > em { min-width: 0; height: 25px; padding: 0 7px; display: flex; align-items: center; gap: 5px; border: 1px solid #e5e7eb; border-radius: 6px; color: #515864; background: #fafbfc; font-size: 10px; font-style: normal; text-align: left; }
.dashboard-lineage-edge > button:hover { border-color: #cfcaf2; background: #f8f7ff; }
.dashboard-lineage-edge > button > span { color: #277891; }
.dashboard-lineage-edge > button strong, .dashboard-lineage-edge > em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-lineage-edge > em { border-color: #dedaf8; color: #5f54cd; background: #f5f3ff; }
.dashboard-lineage-edge > i { color: #aeb2ba; }
.dashboard-lineage-edge > small { color: #8f959f; font-size: 10px; white-space: nowrap; }
.dashboard-lineage-panel > footer { margin-top: 7px; padding-top: 7px; border-top: 1px solid #eef0f2; text-align: right; }
.dashboard-operation-list { margin-top: 6px; display: grid; }
.dashboard-operation-list > button { min-height: 40px; padding: 5px 2px; display: grid; grid-template-columns: 7px minmax(0, 1fr) auto 12px; align-items: center; gap: 8px; border: 0; border-bottom: 1px solid #eef0f2; color: inherit; background: transparent; text-align: left; }
.dashboard-operation-list > button:hover { background: #faf9ff; }
.dashboard-operation-list > button > i { width: 6px; height: 6px; border-radius: 50%; background: #48a58c; box-shadow: 0 0 0 3px #e8f5f1; }
.dashboard-operation-list > button > i.warning { background: #d69143; box-shadow: 0 0 0 3px #fbf0e2; }
.dashboard-operation-list > button > i.critical { background: #d96773; box-shadow: 0 0 0 3px #fdebec; }
.dashboard-operation-list span { min-width: 0; display: grid; gap: 2px; }
.dashboard-operation-list strong { color: #4a505c; font-size: 10px; }
.dashboard-operation-list small { overflow: hidden; color: #9499a3; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-operation-list b { color: #353b47; font: 750 14px 'Manrope', sans-serif; }
.dashboard-operation-list svg { color: #a3a8b1; }
.dashboard-history-list { margin-top: 6px; display: grid; }
.dashboard-history-list > article { min-height: 40px; padding: 5px 2px; display: grid; grid-template-columns: 7px minmax(0, 1fr) auto; align-items: center; gap: 8px; border-bottom: 1px solid #eef0f2; }
.dashboard-history-list > article > i { width: 6px; height: 6px; border-radius: 50%; background: #617bd6; box-shadow: 0 0 0 3px #edf1ff; }
.dashboard-history-list > article > i.violet { background: #6a5bd6; box-shadow: 0 0 0 3px #efedff; }
.dashboard-history-list > article > i.amber { background: #d69143; box-shadow: 0 0 0 3px #fbf0e2; }
.dashboard-history-list > article > i.red { background: #d96773; box-shadow: 0 0 0 3px #fdebec; }
.dashboard-history-list span { min-width: 0; display: grid; gap: 2px; }
.dashboard-history-list strong, .dashboard-history-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-history-list strong { color: #4a505c; font-size: 10px; }
.dashboard-history-list small, .dashboard-history-list time { color: #9499a3; font-size: 10px; }
.dashboard-history-list time { white-space: nowrap; }

.dashboard-explorer-drawer { width: min(920px, calc(100vw - 26px)); }
.operational-findings-drawer { width: min(680px, calc(100vw - 26px)); }
.operational-findings-note { margin: 11px 14px 5px; padding: 9px 10px; display: flex; align-items: flex-start; gap: 8px; border: 1px solid #e5e2f3; border-radius: 8px; color: #6559d0; background: #faf9ff; }
.operational-findings-note p { margin: 0; color: #747b87; font-size: 10px; line-height: 1.5; }
.operational-findings-list { padding: 7px 14px 20px; overflow: auto; }
.operational-findings-list > button { width: 100%; min-height: 45px; padding: 6px 8px; display: grid; grid-template-columns: 27px minmax(0, 1fr) 13px; align-items: center; gap: 8px; border: 0; border-bottom: 1px solid #eceef1; color: inherit; background: transparent; text-align: left; }
.operational-findings-list > button:hover { background: #faf9ff; }
.operational-findings-list > button > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 6px; color: #6559ce; background: #efedff; }
.operational-findings-list > button > div { min-width: 0; display: grid; gap: 2px; }
.operational-findings-list strong, .operational-findings-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.operational-findings-list strong { color: #474e5a; font-size: 10px; }
.operational-findings-list small { color: #9197a1; font-size: 10px; }
.operational-findings-list > button > svg { color: #a2a7b0; }
.dashboard-explorer-toolbar { padding: 10px 14px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); background: #fafbfc; }
.dashboard-explorer-toolbar .search-field { min-width: 260px; flex: 1; }
.dashboard-explorer-toolbar > span { color: #8b919c; font-size: 10px; white-space: nowrap; }
.catalog-tree { min-height: 0; padding: 10px 14px 22px; overflow: auto; }
.catalog-tree details { border: 1px solid #e7e9ed; border-radius: 8px; background: #fff; }
.catalog-tree details + details { margin-top: 6px; }
.catalog-tree summary { min-height: 38px; padding: 6px 9px; display: flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; }
.catalog-tree summary::-webkit-details-marker { display: none; }
.catalog-tree summary > span { min-width: 0; flex: 1; display: flex; align-items: center; gap: 7px; color: #655ad0; }
.catalog-tree summary strong { overflow: hidden; color: #484f5b; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.catalog-tree summary small { color: #8b919b; font-size: 10px; }
.catalog-tree summary > svg { color: #a0a5ae; transition: transform .15s ease; }
.catalog-tree details[open] > summary > svg { transform: rotate(180deg); }
.catalog-tree-catalog > div { padding: 0 7px 7px 25px; }
.catalog-tree-schema { border-color: #eef0f3 !important; box-shadow: none; }
.catalog-tree-tables { border-top: 1px solid #eff0f3; }
.catalog-tree-tables > article { min-height: 48px; padding: 6px 9px; display: grid; grid-template-columns: 25px minmax(0, 1fr) auto auto; align-items: center; gap: 8px; border-bottom: 1px solid #eff0f3; }
.catalog-tree-tables > article:last-child { border-bottom: 0; }
.catalog-object-icon { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 6px; color: #287993; background: #e9f4f8; }
.catalog-tree-tables article > div:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.catalog-tree-tables article > div:nth-child(2) strong, .catalog-tree-tables article > div:nth-child(2) small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.catalog-tree-tables article > div:nth-child(2) strong { color: #414854; font-size: 10px; }
.catalog-tree-tables article > div:nth-child(2) small { color: #9196a0; font-size: 10px; }
.catalog-tree-tables article > div:nth-child(2) i { width: min(180px, 100%); height: 3px; overflow: hidden; border-radius: 3px; background: #eceef1; }
.catalog-tree-tables article > div:nth-child(2) i em { height: 100%; display: block; border-radius: inherit; background: #6b60d7; }
.catalog-object-tags { display: grid; justify-items: end; gap: 2px; }
.catalog-object-tags b { color: #a14d56; font-size: 10px; }
.catalog-object-tags small, .catalog-not-used { color: #999ea7; font-size: 10px; font-style: normal; }
.catalog-object-actions { display: flex; gap: 4px; }
.catalog-object-actions button { height: 25px; padding: 0 7px; border: 1px solid #dfdbea; border-radius: 6px; color: #5f54cb; background: #faf9ff; font-size: 10px; font-weight: 700; }
.catalog-column-summary { margin: 10px 14px; min-height: 38px; padding: 7px 9px; display: flex; align-items: center; gap: 7px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fafbfc; }
.catalog-column-summary > span:not(.classification-badge) { padding-left: 8px; border-left: 1px solid #e1e3e7; color: #7f8691; font-size: 10px; }
.catalog-column-table { margin: 0 14px 20px; overflow: auto; border: 1px solid #e5e7eb; border-radius: 8px; }
.catalog-column-head, .catalog-column-table > article { min-width: 660px; min-height: 45px; padding: 6px 9px; display: grid; grid-template-columns: minmax(160px, 1fr) 100px minmax(180px, 1fr) 145px; align-items: center; gap: 9px; border-bottom: 1px solid #eceef1; }
.catalog-column-head { min-height: 31px; position: sticky; top: 0; z-index: 1; color: #858b96; background: #f8f9fa; font-size: 10px; font-weight: 700; }
.catalog-column-table > article > span:first-child, .catalog-column-protection { min-width: 0; display: grid; gap: 2px; }
.catalog-column-table strong, .catalog-column-table small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.catalog-column-table strong { color: #48505b; font-size: 10px; }
.catalog-column-table small { color: #9297a1; font-size: 10px; }
.catalog-column-table code { overflow: hidden; color: #5e6672; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.catalog-column-tags { display: flex; flex-wrap: wrap; gap: 3px; }
.catalog-column-tags em { padding: 2px 4px; border-radius: 4px; color: #6257cb; background: #f0eeff; font-size: 10px; font-style: normal; }
.catalog-column-protection b { width: max-content; padding: 3px 5px; border-radius: 999px; color: #737a85; background: #eef0f2; font-size: 10px; }
.catalog-column-protection b.masked { color: #277864; background: #e7f4f0; }
.catalog-column-protection b.unprotected { color: #a14c56; background: #fdebec; }

.dashboard-access-drawer { width: min(820px, calc(100vw - 26px)); }
.dashboard-access-summary { margin: 10px 14px 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid #e4e6eb; border-radius: 9px; background: #fafbfc; }
.dashboard-access-summary > div { min-height: 53px; display: grid; place-content: center; gap: 2px; border-right: 1px solid #e7e9ed; text-align: center; }
.dashboard-access-summary > div:last-child { border-right: 0; }
.dashboard-access-summary strong { color: #343a46; font: 750 15px 'Manrope', sans-serif; }
.dashboard-access-summary span { color: #8a909a; font-size: 10px; }
.dashboard-access-context { margin: 8px 14px 0; padding: 9px 10px; display: flex; align-items: center; gap: 9px; border: 1px solid #e4e1f5; border-radius: 8px; background: #faf9ff; }
.dashboard-access-context p { margin: 0; color: #747b87; font-size: 10px; line-height: 1.45; }
.visibility-section { margin: 13px 14px 0; }
.visibility-column-list, .visibility-principal-list { overflow: hidden; border: 1px solid #e5e7eb; border-radius: 8px; }
.visibility-column-list > article { min-height: 44px; padding: 6px 9px; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto auto; align-items: center; gap: 8px; border-bottom: 1px solid #eceef1; }
.visibility-column-list > article:last-child { border-bottom: 0; }
.visibility-column-list > article > span { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 6px; color: #9f545c; background: #fdeff0; }
.visibility-column-list article > div { min-width: 0; display: grid; gap: 2px; }
.visibility-column-list strong { color: #454c58; font-size: 10px; }
.visibility-column-list small { color: #8e949e; font-size: 10px; }
.visibility-column-list > article > em { padding: 3px 6px; border-radius: 999px; color: #287865; background: #e8f5f1; font-size: 10px; font-style: normal; font-weight: 700; }
.visibility-column-list > article > em.unprotected { color: #a14a55; background: #fdebec; }
.visibility-principal-list > button { width: 100%; min-height: 43px; padding: 6px 9px; display: grid; grid-template-columns: 27px minmax(0, 1fr) auto 13px; align-items: center; gap: 8px; border: 0; border-bottom: 1px solid #eceef1; color: inherit; background: #fff; text-align: left; }
.visibility-principal-list > button:last-child { border-bottom: 0; }
.visibility-principal-list > button:hover { background: #faf9ff; }
.visibility-principal-list > button > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.visibility-principal-list strong, .visibility-principal-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.visibility-principal-list strong { color: #454c58; font-size: 10px; }
.visibility-principal-list small { color: #8e949e; font-size: 10px; }
.visibility-principal-list > button > svg { color: #a1a6af; }

.lineage-explorer-body { min-height: 0; padding: 12px 14px 22px; overflow: auto; }
.lineage-map-large { padding: 10px; border: 1px solid #e5e7eb; border-radius: 9px; background: linear-gradient(135deg, #fbfbfd, #faf9ff); }
.lineage-difference-grid { margin-top: 9px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.lineage-difference-grid article { min-height: 51px; padding: 8px; display: grid; gap: 2px; border: 1px solid #e7e9ed; border-radius: 7px; background: #fff; }
.lineage-difference-grid strong { color: #3c4350; font: 750 14px 'Manrope', sans-serif; }
.lineage-difference-grid span { color: #898f99; font-size: 10px; }
.lineage-table-list { margin-top: 14px; }
.lineage-table-list > button, .lineage-table-list > article { width: 100%; min-height: 44px; padding: 6px 8px; display: grid; grid-template-columns: minmax(0, 1fr) auto 13px; align-items: center; gap: 8px; border: 0; border-bottom: 1px solid #eceef1; color: inherit; background: transparent; text-align: left; }
.lineage-table-list > button:hover { background: #faf9ff; }
.lineage-table-list > button:disabled { cursor: default; opacity: .65; }
.lineage-table-list > button > span, .lineage-table-list > article > span { min-width: 0; display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 1px 5px; }
.lineage-table-list strong, .lineage-table-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lineage-table-list strong { color: #4a505c; font-size: 10px; }
.lineage-table-list small, .lineage-table-list em { color: #8f959f; font-size: 10px; font-style: normal; }
.lineage-table-list > button > em { text-align: right; }
.lineage-unscoped-note, .lineage-detail-summary { margin: 12px 14px; padding: 10px; display: flex; align-items: flex-start; gap: 9px; border: 1px solid #eadbc8; border-radius: 8px; color: #93622d; background: #fffaf3; }
.lineage-unscoped-note strong { font-size: 11px; }
.lineage-unscoped-note p, .lineage-detail-summary p { margin: 2px 0 0; color: #7c818b; font-size: 10px; line-height: 1.45; }
.lineage-detail-list { overflow: hidden; border: 1px solid #e5e7eb; border-radius: 8px; }
.lineage-detail-list > article { min-height: 49px; padding: 7px 9px; display: grid; grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr); align-items: center; gap: 7px; border-bottom: 1px solid #eceef1; }
.lineage-detail-list > article:last-child { border-bottom: 0; }
.lineage-detail-list > article > span { min-width: 0; display: grid; gap: 2px; }
.lineage-detail-list strong, .lineage-detail-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lineage-detail-list strong { color: #48505b; font-size: 10px; }
.lineage-detail-list small { color: #9297a1; font-size: 10px; }
.lineage-detail-list > article > svg { color: #8f86df; }
.lineage-column-table { overflow: hidden; border: 1px solid #e5e7eb; border-radius: 8px; }
.lineage-column-head, .lineage-column-table > article { min-height: 42px; padding: 6px 9px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 55px; align-items: center; gap: 9px; border-bottom: 1px solid #eceef1; }
.lineage-column-head { min-height: 31px; color: #858b96; background: #f8f9fa; font-size: 10px; font-weight: 700; }
.lineage-column-table > article > span { min-width: 0; display: grid; gap: 2px; }
.lineage-column-table strong, .lineage-column-table small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lineage-column-table strong { color: #48505b; font-size: 10px; }
.lineage-column-table small, .lineage-column-table em { color: #9297a1; font-size: 10px; font-style: normal; }

@media (max-width: 1100px) {
  .dashboard-governance-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 700px) {
  .dashboard-lineage-edge { grid-template-columns: minmax(0, 1fr) 12px minmax(0, 1fr) auto; }
  .dashboard-lineage-edge > button:nth-of-type(2), .dashboard-lineage-edge > button:nth-of-type(2) + i { display: none; }
  .dashboard-explorer-toolbar { align-items: stretch; flex-direction: column; }
  .dashboard-explorer-toolbar > span { white-space: normal; }
  .catalog-tree-catalog > div { padding-left: 7px; }
  .catalog-tree-tables > article { grid-template-columns: 25px minmax(0, 1fr); }
  .catalog-object-tags, .catalog-object-actions, .catalog-not-used { grid-column: 2; justify-self: start; }
  .dashboard-access-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-access-summary > div:nth-child(2) { border-right: 0; }
  .dashboard-access-summary > div:nth-child(-n+2) { border-bottom: 1px solid #e7e9ed; }
  .visibility-column-list > article { grid-template-columns: 24px minmax(0, 1fr) auto; }
  .visibility-column-list > article > small { grid-column: 2 / -1; }
  .lineage-difference-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Grupo → Genies em formato tabular e preparado para grandes catálogos */
.group-drawer { width: min(1040px, 100vw); }
.drawer-header-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 7px; }
.drawer-header-actions .button { min-height: 30px; padding-inline: 9px; font-size: 10px; }
.group-name-modal { width: min(460px, calc(100vw - 28px)); }
.group-name-modal .form-note b { color: inherit; }
.group-genie-access { min-width: 0; }
.group-genie-toolbar { margin: 0 16px 7px; display: grid; grid-template-columns: minmax(220px, 1fr) 170px auto; align-items: center; gap: 7px; }
.group-genie-toolbar .search-field { width: 100%; }
.group-genie-toolbar > span { color: #8d939d; font-size: 10px; white-space: nowrap; }
.group-genie-table-wrap { max-height: min(470px, 48vh); margin: 0 16px; overflow: auto; border: 1px solid #dde1e6; border-radius: 9px; background: #fff; }
.group-genie-table { width: 100%; min-width: 850px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.group-genie-table th { height: 34px; padding: 6px 8px; position: sticky; top: 0; z-index: 2; border-bottom: 1px solid #dfe3e8; color: #7e8590; background: #f7f8fa; font-size: 10px; font-weight: 700; letter-spacing: .2px; text-align: left; }
.group-genie-table th:nth-child(1) { width: 27%; }
.group-genie-table th:nth-child(2) { width: 15%; }
.group-genie-table th:nth-child(3) { width: 12%; }
.group-genie-table th:nth-child(4) { width: 14%; }
.group-genie-table th:nth-child(5) { width: 22%; }
.group-genie-table th:nth-child(6) { width: 10%; }
.group-genie-table-row td { min-width: 0; padding: 8px; border-bottom: 1px solid rgba(120,128,140,.13); background: transparent; vertical-align: middle; transition: background .12s ease; }
.group-genie-table-row.has-access td { background: #eff9f5; }
.group-genie-table-row.has-access:hover td { background: #e7f5ef; }
.group-genie-table-row.no-access td { background: #fff1f3; }
.group-genie-table-row.no-access:hover td { background: #fce8eb; }
.group-genie-table-row.has-access td:first-child { box-shadow: inset 3px 0 #38a483; }
.group-genie-table-row.no-access td:first-child { box-shadow: inset 3px 0 #d76572; }
.group-genie-table-row:last-child td { border-bottom: 0; }
.group-genie-table .group-genie-main { min-width: 0; }
.group-genie-table .group-genie-main .genie-icon { width: 28px; height: 28px; flex: 0 0 auto; }
.group-genie-table .group-genie-main strong { font-size: 11px; }
.group-genie-table .group-genie-main small { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.group-genie-source { min-width: 0; display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.group-genie-source > strong { color: #414853; font: 750 13px 'Manrope', sans-serif; }
.group-genie-source > span:not([data-group-classification]) { color: #858c97; font-size: 10px; }
.group-genie-source > span[data-group-classification] { width: 100%; display: contents; }
.group-genie-table .group-genie-data { min-height: 0; }
.group-genie-uc { min-width: 0; display: grid; justify-items: start; gap: 4px; }
.group-genie-uc > div { width: 100%; }
.group-genie-uc .principal-table-scope { background: rgba(255,255,255,.65); }
.group-genie-uc .principal-table-scope summary { padding: 4px 6px; font-size: 10px; }
.group-genie-uc .principal-table-scope > div { max-width: 300px; max-height: 190px; }
.group-genie-table td:last-child { text-align: right; }
.group-genie-table td:last-child .button { min-height: 27px; padding: 0 8px; font-size: 10px; }
.button.danger-soft { color: #a64752; border-color: #eccbd0; background: #fffafb; }
.button.danger-soft:hover { border-color: #d99da5; background: #fff3f4; }

@media (max-width: 760px) {
  .group-genie-toolbar { grid-template-columns: minmax(0, 1fr); }
  .group-genie-toolbar > span { display: none; }
  .group-genie-table-wrap { max-height: 55vh; }
}

/* Backlog de demandas: visão compacta, qualificável e preparada para crescimento */
.demand-kpis { margin-bottom: 10px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.demand-kpis > button { min-width: 0; min-height: 66px; padding: 10px 12px; display: grid; grid-template-columns: 30px auto; grid-template-rows: auto auto; align-items: center; column-gap: 9px; border: 1px solid var(--line); border-radius: 9px; color: inherit; background: #fff; box-shadow: var(--shadow); text-align: left; transition: border-color .15s ease, transform .15s ease; }
.demand-kpis > button:hover { border-color: #c9c4f4; transform: translateY(-1px); }
.demand-kpis > button > span { width: 30px; height: 30px; grid-row: 1 / 3; display: grid; place-items: center; border-radius: 8px; color: #6257d6; background: #f0eeff; }
.demand-kpis strong { color: #303641; font: 750 18px 'Manrope', sans-serif; line-height: 1; }
.demand-kpis small { overflow: hidden; color: #858b96; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.demand-kpis > button:nth-child(2) > span { color: #a15d20; background: #fff1df; }
.demand-kpis > button:nth-child(4) > span { color: #257966; background: #e7f5f0; }
.demand-kpis > button:nth-child(5) > span { color: #aa4653; background: #fdebed; }
.demand-panel { overflow: hidden; }
.demand-toolbar { min-height: 58px; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 9px; border-bottom: 1px solid var(--line); }
.demand-toolbar .search-field { flex: 1 1 330px; width: auto; max-width: 460px; }
.demand-filters { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.demand-filters > span { min-width: 76px; color: #8a909a; font-size: 11px; text-align: right; white-space: nowrap; }
.demand-filters > span strong { color: #4c535f; }
.demand-table-wrap { overflow: auto; }
.demand-table { min-width: 1120px; }
.demand-table th:nth-child(1) { width: 8%; }
.demand-table th:nth-child(2) { width: 5%; text-align: center; }
.demand-table th:nth-child(3) { width: 27%; }
.demand-table th:nth-child(4) { width: 12%; }
.demand-table th:nth-child(5) { width: 17%; }
.demand-table th:nth-child(6) { width: 14%; }
.demand-table th:nth-child(7) { width: 9%; }
.demand-table th:nth-child(8) { width: 8%; }
.demand-identity { min-width: 0; display: flex; align-items: center; gap: 9px; }
.demand-order-cell { text-align: center; }
.demand-move-controls { width: 22px; display: inline-flex; flex-direction: column; gap: 1px; }
.demand-move-button { width: 22px; height: 17px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 4px; color: #747b88; background: #f1f2f5; cursor: pointer; }
.demand-move-button:hover:not(:disabled) { color: #5c4fd0; background: #e9e6ff; }
.demand-move-button:focus-visible { outline: 2px solid #786cea; outline-offset: 1px; }
.demand-move-button.up svg { transform: rotate(180deg); }
.demand-move-button:disabled { opacity: .28; cursor: default; }
.demand-source-icon { width: 29px; height: 29px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 7px; color: #32809d; background: #e8f5f9; }
.demand-identity > div, .demand-owner { min-width: 0; display: grid; gap: 2px; }
.demand-identity strong, .demand-identity small, .demand-owner strong, .demand-owner small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.demand-identity strong, .demand-owner strong { color: #424955; font-size: 12px; }
.demand-identity small, .demand-owner small { color: #8b919c; font-size: 10px; }
.demand-priority, .demand-qualification, .demand-deadline { width: max-content; display: inline-flex; align-items: center; gap: 4px; border-radius: 999px; font-size: 10px; font-style: normal; font-weight: 750; white-space: nowrap; }
.demand-priority { min-width: 34px; padding: 4px 7px; justify-content: center; }
.demand-priority.critical { color: #9d2f3e; background: #fbdfe3; }
.demand-priority.high { color: #a35b18; background: #fff0dd; }
.demand-priority.medium { color: #6256c7; background: #efedff; }
.demand-priority.low, .demand-priority.future { color: #68717e; background: #edf0f3; }
.demand-qualification { padding: 4px 7px; color: #69717d; background: #eef0f3; }
.demand-qualification.in_review { color: #936223; background: #fff3df; }
.demand-qualification.qualified { color: #287963; background: #e5f4ef; }
.demand-qualification.not_viable { color: #a34b57; background: #fce9ec; }
.demand-stage { width: max-content; padding: 4px 7px; display: inline-flex; align-items: center; border-radius: 999px; color: #6256c7; background: #efedff; font-size: 10px; font-weight: 750; white-space: nowrap; }
.demand-stage.in_progress { color: #287963; background: #e5f4ef; }
.demand-stage.blocked, .demand-stage.cancelled { color: #a34b57; background: #fce9ec; }
.demand-stage.completed { color: #287963; background: #e5f4ef; }
.demand-deadline { padding: 4px 0; color: #6e7581; }
.demand-deadline.overdue { padding-inline: 7px; color: #a84250; background: #fdebed; }
.demand-storage-note { min-height: 36px; padding: 7px 12px; display: flex; align-items: center; gap: 6px; border-top: 1px solid var(--line); color: #8b919b; background: #fafbfc; font-size: 10px; }
.demand-storage-note b { color: #646b76; }

.demand-modal { width: min(760px, calc(100vw - 28px)); max-height: calc(100vh - 28px); display: flex; flex-direction: column; overflow: hidden; }
.demand-modal > form { flex: 1; min-height: 0; padding: 0; display: flex; flex-direction: column; overflow: hidden; }
.demand-form-scroll { flex: 1; min-height: 0; padding: 12px 16px 4px; overflow-y: auto; }
.demand-modal .form-grid { padding: 0; gap: 9px; }
.demand-modal .form-grid label { font-size: 11px; }
.demand-modal .form-grid input, .demand-modal .form-grid select, .demand-modal .form-grid textarea { font-size: 12px; }
.demand-technical { margin: 12px 0; overflow: hidden; border: 1px solid #e2e4e9; border-radius: 8px; background: #fafbfc; }
.demand-technical summary { min-height: 38px; padding: 8px 10px; display: flex; align-items: center; gap: 7px; color: #555c68; cursor: pointer; font-size: 11px; font-weight: 700; list-style: none; }
.demand-technical summary::-webkit-details-marker { display: none; }
.demand-technical summary svg:last-child { margin-left: auto; transition: transform .15s ease; }
.demand-technical[open] summary svg:last-child { transform: rotate(180deg); }
.demand-technical[open] summary { border-bottom: 1px solid #e5e7eb; background: #f6f7f9; }
.demand-technical .form-grid { padding: 10px; background: #fff; }
.demand-notes { margin-bottom: 10px; }
.demand-import-origin { margin: 1px 0 10px; color: #9298a2; font-size: 10px; }
.demand-import-origin b { color: #676e79; }
.demand-modal-actions { margin: 0; padding: 10px 16px; align-items: center; justify-content: space-between; border-radius: 0 0 10px 10px; }
.demand-modal-actions > div { display: flex; gap: 7px; }

@media (max-width: 1000px) {
  .demand-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .demand-toolbar { align-items: stretch; flex-direction: column; }
  .demand-toolbar .search-field { max-width: none; }
  .demand-filters { justify-content: flex-start; flex-wrap: wrap; }
}

@media (max-width: 620px) {
  .demand-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .demand-filters .select-field { width: 100%; }
  .demand-filters > span { width: 100%; text-align: left; }
  .demand-modal .form-grid { grid-template-columns: minmax(0, 1fr); }
  .demand-modal .form-grid label { grid-column: 1; }
}

/* Navegação e comandos globais */
:root {
  --status-success: #287963;
  --status-success-bg: #e7f5f0;
  --status-warning: #936223;
  --status-warning-bg: #fff3df;
  --status-danger: #a34b57;
  --status-danger-bg: #fce9ec;
  --status-unknown: #6d7480;
  --status-unknown-bg: #edf0f3;
}
.nav-admin { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.06); }
.nav-admin > summary { height: 36px; padding: 0 10px; display: flex; align-items: center; gap: 9px; border-radius: 7px; color: #8f96a4; cursor: pointer; font-size: 12px; font-weight: 650; list-style: none; }
.nav-admin > summary::-webkit-details-marker { display: none; }
.nav-admin > summary:hover { color: #eef0f4; background: rgba(255,255,255,.045); }
.nav-admin:has(button.active) > summary { color: #d9d6ff; background: rgba(116,103,239,.1); }
.nav-admin > summary > span:nth-child(2) { flex: 1; }
.nav-admin > summary > span:last-child svg { width: 12px; transition: transform .15s ease; }
.nav-admin[open] > summary > span:last-child svg { transform: rotate(180deg); }
.nav-admin > div { padding: 2px 0 0 12px; }
.nav-admin > div button { height: 33px; font-size: 12px; }
.support-link { width: 100%; height: 34px; padding: 0 9px; display: flex; align-items: center; gap: 8px; border-radius: 7px; color: #8f96a4; font-size: 11px; text-decoration: none; }
.support-link:hover { color: #d9d6ff; background: rgba(255,255,255,.045); }
.support-link > span:nth-child(2) { flex: 1; }
.support-link > span:last-child svg { width: 12px; }
.global-search-trigger { min-width: 240px; width: min(460px, 38vw); height: 34px; margin: 0 22px; padding: 0 10px; display: flex; align-items: center; gap: 8px; border: 1px solid #e0e3e8; border-radius: 8px; color: #8a909b; background: #f8f9fb; text-align: left; }
.global-search-trigger:hover { border-color: #c9c4f4; background: #fff; }
.global-search-trigger > span:nth-child(2) { flex: 1; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.global-search-trigger kbd, .global-search-input kbd { padding: 2px 5px; border: 1px solid #dfe2e7; border-radius: 4px; color: #8c929d; background: #fff; font: 600 9px 'Manrope', sans-serif; white-space: nowrap; }
.global-sync { height: 32px; padding: 0 9px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #e0e3e7; border-radius: 7px; color: #68707d; background: #fff; font-size: 10px; white-space: nowrap; }
.global-sync:hover { border-color: #c9c4f4; color: #5f55cb; }
.global-sync:disabled { opacity: .65; }

body.sidebar-collapsed .nav-admin { padding-top: 0; border-top: 0; }
body.sidebar-collapsed .nav-admin > summary { padding: 0; justify-content: center; }
body.sidebar-collapsed .nav-admin > summary > span:nth-child(2),
body.sidebar-collapsed .nav-admin > summary > span:last-child,
body.sidebar-collapsed .nav-admin > div { display: none; }
body.sidebar-collapsed .support-link > span:nth-child(2),
body.sidebar-collapsed .support-link > span:last-child { display: none; }
body.sidebar-collapsed .support-link { padding: 0; justify-content: center; }

.global-search-overlay { align-items: flex-start; padding-top: min(12vh, 100px); }
.global-search-dialog { position: relative; z-index: 2; width: min(720px, calc(100vw - 28px)); max-height: min(700px, 78vh); overflow: hidden; border: 1px solid #e0e3e8; border-radius: 12px; background: #fff; box-shadow: 0 28px 80px rgba(18,23,35,.25); }
.global-search-input { height: 54px; padding: 0 15px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid #e7e9ed; color: #777f8b; }
.global-search-input input { flex: 1; min-width: 0; border: 0; outline: 0; color: #303641; background: transparent; font-size: 14px; }
.global-search-results { max-height: calc(min(700px, 78vh) - 54px); padding: 8px; overflow-y: auto; }
.global-search-results section { margin-bottom: 8px; overflow: hidden; border: 1px solid #e7e9ed; border-radius: 8px; }
.global-search-results section > header { min-height: 30px; padding: 5px 9px; display: flex; align-items: center; gap: 6px; color: #7c838e; background: #f7f8fa; font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .4px; }
.global-search-results section > header span { margin-left: auto; }
.global-search-results section > button { width: 100%; min-height: 47px; padding: 7px 9px; display: grid; grid-template-columns: 28px minmax(0, 1fr) 14px; align-items: center; gap: 8px; border: 0; border-bottom: 1px solid #eceef1; color: inherit; background: #fff; text-align: left; }
.global-search-results section > button:last-child { border-bottom: 0; }
.global-search-results section > button:hover { background: #faf9ff; }
.global-search-results section > button > span:first-child { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 7px; color: #6257d6; background: #f0eeff; }
.global-search-results section > button > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.global-search-results strong, .global-search-results small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.global-search-results strong { color: #444b57; font-size: 11px; }
.global-search-results small { color: #8c929c; font-size: 10px; }
.global-search-results section > button > svg { color: #a0a6af; }
.global-search-shortcuts { padding: 10px; }
.global-search-shortcuts > span { color: #7a818d; font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .4px; }
.global-search-shortcuts > div { margin: 8px 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.global-search-shortcuts button { min-height: 40px; padding: 7px 9px; display: flex; align-items: center; gap: 7px; border: 1px solid #e5e7eb; border-radius: 7px; color: #555c68; background: #fff; font-size: 11px; }
.global-search-shortcuts button:hover { border-color: #cbc6f3; color: #5f55ca; background: #faf9ff; }
.global-search-shortcuts small, .global-search-empty { color: #9298a2; font-size: 10px; }
.global-search-empty { padding: 36px 12px; text-align: center; }

.governance-journey { min-height: 34px; margin-bottom: 8px; padding: 4px 7px; display: flex; align-items: center; gap: 4px; overflow-x: auto; border: 1px solid #e3e5ea; border-radius: 8px; background: #fafbfc; scrollbar-width: none; }
.governance-journey > span { padding: 0 5px; color: #9298a2; font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .5px; }
.governance-journey > svg { flex: 0 0 auto; color: #b4b8c0; }
.governance-journey button { min-height: 25px; padding: 0 7px; display: inline-flex; align-items: center; gap: 5px; border: 0; border-radius: 6px; color: #737a86; background: transparent; font-size: 10px; white-space: nowrap; }
.governance-journey button:hover { color: #5f55ca; background: #f0eeff; }
.governance-journey button.active { color: #5f55ca; background: #ece9ff; font-weight: 750; }

.demand-quick-select { max-width: 145px; min-height: 28px; padding: 0 22px 0 7px; border: 1px solid transparent; border-radius: 999px; outline: 0; font-size: 10px; font-weight: 750; appearance: auto; }
.demand-quick-select:hover, .demand-quick-select:focus { border-color: #bbb5ec; }
.demand-quick-select.priority.critical, .demand-quick-select.stage.blocked, .demand-quick-select.stage.cancelled { color: var(--status-danger); background: var(--status-danger-bg); }
.demand-quick-select.priority.high, .demand-quick-select.qualification.in_review { color: var(--status-warning); background: var(--status-warning-bg); }
.demand-quick-select.priority.medium { color: #6256c7; background: #efedff; }
.demand-quick-select.priority.low, .demand-quick-select.priority.future, .demand-quick-select.qualification.pending { color: var(--status-unknown); background: var(--status-unknown-bg); }
.demand-quick-select.qualification.qualified, .demand-quick-select.stage.in_progress, .demand-quick-select.stage.completed { color: var(--status-success); background: var(--status-success-bg); }
.demand-quick-select.qualification.not_viable { color: var(--status-danger); background: var(--status-danger-bg); }
.state-pill.active, .uc-status.allowed { color: var(--status-success); background: var(--status-success-bg); }
.uc-status.blocked, .matrix-data-status.blocked, .matrix-data-status.unprotected { color: var(--status-danger); background: var(--status-danger-bg); }
.dashboard-advanced { margin-top: 10px; }
.dashboard-advanced > summary { min-height: 42px; padding: 8px 12px; display: flex; align-items: center; justify-content: space-between; border: 1px solid #e2e5e9; border-radius: 9px; color: #69717d; background: #fafbfc; cursor: pointer; list-style: none; }
.dashboard-advanced > summary::-webkit-details-marker { display: none; }
.dashboard-advanced > summary > span { display: flex; align-items: center; gap: 7px; }
.dashboard-advanced > summary b { color: #4a515d; font-size: 11px; }
.dashboard-advanced > summary small { color: #9399a3; font-size: 10px; }
.dashboard-advanced > summary > svg { transition: transform .15s ease; }
.dashboard-advanced[open] > summary > svg { transform: rotate(180deg); }
.dashboard-advanced[open] > summary { border-radius: 9px 9px 0 0; }
.dashboard-advanced > .dashboard-governance-grid { margin-top: 0; padding-top: 9px; }

/* Matriz de acesso: leitura rápida, estados inequívocos e navegação horizontal */
.matrix-panel { border-color: #dde1e8; border-radius: 11px; background: #fff; box-shadow: 0 8px 24px rgba(31, 37, 49, .055); }
.matrix-toolbar { min-height: 58px; padding: 10px 12px; background: #fff; }
.matrix-toolbar .search-field { width: min(410px, 100%); background: #fafbfc; }
.matrix-summary { min-height: 38px; padding-inline: 12px; color: #747c88; background: #f7f8fa; }
.matrix-summary .legend { gap: 5px; }
.matrix-summary .legend span { min-height: 23px; padding: 3px 7px; gap: 5px; border: 1px solid #e3e6ea; border-radius: 999px; color: #666e7a; background: #fff; }
.matrix-summary .legend .dot { width: 7px; height: 7px; }
.access-matrix { grid-template-columns: clamp(235px, 21%, 270px) minmax(0, 1fr); border-top: 1px solid #e0e3e8; background: #fff; }
.access-principal-table { box-shadow: 12px 0 24px -18px rgba(28, 34, 46, .72); }
.access-table .user-column { width: clamp(235px, 21%, 270px); }
.access-table thead tr, .access-table th { height: 76px; }
.access-table tbody tr, .access-table td { height: 64px; }
.access-table th { padding: 9px 11px; border-right-color: #e2e5ea; color: #707783; background: #f5f6f9; }
.access-table td { padding: 6px 9px; border-bottom-color: #e7e9ed; border-right-color: #eceef1; }
.access-genie-table tbody tr:nth-child(even) td, .access-principal-table tbody tr:nth-child(even) td { background: #fcfcfd; }
.access-table tbody tr.row-highlight td { background: #f7f7fc; }
.access-principal-table th.user-column, .access-principal-table td.user-column { padding-inline: 13px; }
.access-principal-table .user-summary-button { max-height: 54px; gap: 9px; }
.access-principal-table .user-summary-button strong { width: 100%; display: flex; align-items: center; gap: 6px; overflow: visible; white-space: nowrap; }
.access-principal-table .principal-name { min-width: 0; overflow: hidden; color: #363d49; font-size: 12px; font-weight: 750; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.access-principal-table .user-summary-button small { max-width: 100%; margin-top: 3px; color: #858d99; font-size: 10px; }
.access-principal-table .scope-badge, .access-principal-table .status-badge { flex: 0 0 auto; margin-left: auto; white-space: nowrap; }
.access-principal-table .scope-badge { padding: 3px 6px; border: 1px solid #f0d9bb; color: #99601f; background: #fff4e5; }
.access-principal-table .group-icon.compact, .access-principal-table .avatar { width: 30px; height: 30px; }
.access-principal-table .user-summary-button > svg { flex: 0 0 auto; color: #a3a9b2; }
.access-genie-table { min-width: var(--genie-min-width, 200px); }
.genie-heading { gap: 8px; }
.genie-heading strong { min-height: 28px; color: #424955; font-size: 11px; font-weight: 750; line-height: 1.3; -webkit-line-clamp: 2; }
.genie-heading small { margin-top: 2px; color: #858d99; }
.genie-heading .classification-badge { margin-top: 4px; }
.permission-cell.permission-select { height: 50px; padding: 5px 7px; display: grid; grid-template-columns: 25px minmax(0, 1fr) 12px; gap: 6px; border-radius: 8px; box-shadow: 0 1px 1px rgba(28, 33, 44, .025); transform: none; }
.permission-cell.permission-select:hover { transform: none; filter: none; box-shadow: 0 3px 9px rgba(29, 35, 47, .1); }
.permission-cell.permission-select:focus-visible { outline: 2px solid #7569e8; outline-offset: 2px; }
.permission-select .permission-symbol { width: 25px; height: 25px; border-radius: 7px; }
.permission-select > span:nth-child(2) { gap: 1px; }
.permission-select b { overflow: hidden; font-size: 11px; font-weight: 800; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.permission-select small { max-width: 100%; font-size: 9px; line-height: 1.15; }
.permission-cell .cell-chevron { opacity: .28; }
.permission-cell:hover .cell-chevron { opacity: .75; }
.permission-cell.none { border-color: #efd9dd; color: #9d5862; background: #fff5f6; }
.permission-cell.none .permission-symbol { color: #a8616a; background: #ffecef; }
.permission-cell.none small { display: none; }
.permission-cell.run { border-color: #c9e8df; color: #227765; background: #edf9f5; }
.permission-cell.run .permission-symbol { background: #ddf3ec; }
.permission-cell.manage { border-color: #cce4ee; color: #267795; background: #edf7fa; }
.permission-cell.manage .permission-symbol { background: #dff0f5; }
.permission-cell.owner { border-color: #d8d3f8; color: #5d50cc; background: #f2f0ff; }
.permission-cell.owner .permission-symbol { background: #e7e3ff; }
.permission-select .matrix-data-status { max-width: 112px; margin-top: 1px; padding: 2px 5px; border-width: 0; font-size: 9px; line-height: 1.1; }
.permission-select .matrix-data-status.checking { color: #68717e; background: #e8ebef; }
.matrix-scroll { scrollbar-color: #aaaebe #eef0f3; }
.matrix-scroll::-webkit-scrollbar { height: 11px; }
.matrix-scroll::-webkit-scrollbar-thumb { border: 3px solid #eef0f3; background: #aaaebe; }
.matrix-footer { min-height: 39px; padding: 8px 12px; color: #858c97; background: #f8f9fa; }

@media (max-width: 1180px) {
  .access-matrix { grid-template-columns: 210px minmax(0, 1fr); }
  .access-table .user-column { width: 210px; }
  .access-genie-table { min-width: var(--genie-min-width-medium, 185px); }
}

@media (max-width: 700px) {
  .matrix-summary .legend { display: none; }
  .access-matrix { grid-template-columns: 145px minmax(0, 1fr); }
  .access-table .user-column { width: 145px; }
  .access-genie-table { min-width: var(--genie-min-width-compact, 172px); }
  .access-principal-table .group-icon.compact, .access-principal-table .avatar, .access-principal-table .scope-badge, .access-principal-table .status-badge, .access-principal-table .user-summary-button > svg { display: none; }
  .permission-cell.permission-select { grid-template-columns: 22px minmax(0, 1fr) 10px; padding-inline: 5px; }
}

@media (max-width: 1050px) {
  .global-search-trigger { width: min(360px, 34vw); margin-inline: 12px; }
  .global-sync > span:last-child { display: none; }
  .profile-copy { display: none; }
}

@media (max-width: 760px) {
  .global-search-trigger { min-width: 36px; width: 36px; margin-left: auto; padding: 0; justify-content: center; }
  .global-search-trigger > span:nth-child(2), .global-search-trigger kbd { display: none; }
  .global-sync { padding-inline: 8px; }
  .global-search-shortcuts > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .governance-journey { margin-inline: -2px; }
}
