.saviynt-create-dialog { width:min(850px,95vw); max-height:90vh; overflow:auto; border:1px solid var(--line); border-radius:8px; padding:24px; color:var(--ink); background:var(--card); }
.saviynt-create-dialog::backdrop { background:rgba(16,37,34,.45); }
.saviynt-create-dialog > * { margin-bottom:12px; }
.saviynt-create-dialog > label { display:block; }
.saviynt-create-dialog > input { display:block; width:100%; }
.saviynt-create-dialog pre { max-height:300px; overflow:auto; white-space:pre-wrap; background:var(--paper); padding:12px; }
:root { --ink:#102522; --muted:#6b7d79; --line:#dce7e1; --paper:#f7faf8; --card:#fff; --mint:#d9f3e5; --green:#087f5b; --green-dark:#075b43; --orange:#f3a84b; --red:#c85b55; --shadow:0 3.2px 7.2px rgba(14,53,41,.13), 0 0.6px 1.8px rgba(14,53,41,.10); --shadow-sm:0 1.6px 3.6px rgba(14,53,41,.11), 0 0.3px 0.9px rgba(14,53,41,.09); --shadow-lg:0 6.4px 14.4px rgba(14,53,41,.16), 0 1.2px 3.6px rgba(14,53,41,.11); --radius-sm:6px; --radius-md:8px; --radius-lg:8px; --font-display:"Space Grotesk","Segoe UI Variable Display","Segoe UI",sans-serif; --font-body:"Segoe UI Variable Text","Segoe UI","Inter",Arial,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:var(--paper); font-family:var(--font-body); font-size:14px; line-height:1.5; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:#c7dbd2; border-radius:20px; border:2px solid var(--paper); }
::-webkit-scrollbar-thumb:hover { background:#a9c9bc; }
* { scrollbar-width:thin; scrollbar-color:#c7dbd2 transparent; }
:focus-visible { outline:2px solid var(--green); outline-offset:1px; }
::selection { background:#bfe9d3; color:var(--green-dark); }
.shell { display:grid; grid-template-columns:264px 1fr; min-height:100vh; }
.sidebar { background:linear-gradient(180deg,#0e2f27 0%,#10352d 100%); color:#d9eee6; padding:26px 16px 22px; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; overflow-y:auto; }
.brand { display:flex; gap:11px; align-items:center; margin:2px 8px 30px; color:#fff; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:linear-gradient(135deg,#5ee0ac,#2fb583); color:#073d2c; font-weight:800; font-family:var(--font-display); font-size:16px; box-shadow:0 6px 16px rgba(0,0,0,.22); flex:none; }
.brand strong { display:block; font-family:var(--font-display); letter-spacing:-.2px; font-size:15.5px; font-weight:700; }
.brand span { display:block; color:#8db8a9; font-size:10.5px; margin-top:2px; letter-spacing:.2px; }
.nav-label { color:#6f9b8d; font-size:10px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; margin:22px 12px 9px; }
.nav-label:first-of-type { margin-top:4px; }
.nav { display:flex; flex-direction:column; gap:2px; }
.nav button { width:100%; border:0; color:#bcd8cc; background:transparent; padding:10px 12px; border-radius:6px; text-align:left; margin-bottom:0; display:flex; align-items:center; gap:10px; font-size:12.5px; font-weight:600; line-height:1.35; border-left:3px solid transparent; transition:background-color .14s ease,color .14s ease; }
.nav button:hover { background:rgba(94,224,172,.10); color:#fff; }
.nav button.active { background:rgba(94,224,172,.16); color:#fff; border-left-color:#5ee0ac; }
.nav button span { width:26px; height:26px; flex:none; display:inline-grid; place-items:center; color:#5ee0ac; border-radius:7px; background:rgba(94,224,172,.08); font-size:13px; }
.nav button.active span { background:rgba(94,224,172,.22); }
.nav-link { display:flex; align-items:center; gap:10px; width:100%; border:0; color:#bcd8cc; background:transparent; padding:10px 12px; border-radius:6px; text-align:left; margin-bottom:0; text-decoration:none; box-sizing:border-box; font-size:12.5px; font-weight:600; border-left:3px solid transparent; transition:background-color .14s ease,color .14s ease; }
.nav-link:hover { background:rgba(94,224,172,.10); color:#fff; }
.nav-link span { width:26px; height:26px; flex:none; display:inline-grid; place-items:center; border-radius:7px; background:rgba(94,224,172,.08); font-size:13px; }
.sidebar-foot { margin-top:auto; border-top:1px solid rgba(94,224,172,.14); padding:18px 12px 2px; color:#7fa89b; font-size:10.5px; line-height:1.7; letter-spacing:.1px; }
.sidebar-foot #last-sync { color:#a9cabd; font-weight:600; }
.main { padding:30px 38px 46px; overflow:hidden; }
.topbar { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:26px; flex-wrap:wrap; }
h1,h2,h3,p { margin:0; }
h1 { font:700 26px/1.2 var(--font-display); letter-spacing:-.6px; }
.eyebrow { display:inline-flex; align-items:center; gap:6px; color:var(--green-dark); font-size:10.5px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; margin-bottom:9px; background:var(--mint); padding:4px 10px 4px 8px; border-radius:20px; }
.eyebrow:before { content:""; width:6px; height:6px; border-radius:50%; background:var(--green); display:inline-block; }
.subtitle { color:var(--muted); font-size:13px; margin-top:8px; max-width:520px; line-height:1.55; }
.top-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.sharepoint-url { width:100%; min-width:0; border:1px solid var(--line); border-radius:8px; padding:9px 10px; color:var(--ink); background:#fff; font-size:12px; margin-bottom:6px; }
.btn { border:1px solid var(--line); background:var(--card); color:var(--ink); border-radius:var(--radius-sm); padding:9px 14px; font-weight:600; font-size:12.5px; white-space:nowrap; transition:background-color .1s ease, box-shadow .1s ease, border-color .1s ease; letter-spacing:.1px; }
.btn:hover { border-color:#95c7b3; background:#f2f9f5; box-shadow:var(--shadow-sm); }
.btn:active { background:#e7f3ec; box-shadow:none; }
.btn:disabled { opacity:.5; cursor:not-allowed; box-shadow:none; }
.btn.primary { background:var(--green); color:#fff; border-color:var(--green); }
.btn.primary:hover { background:var(--green-dark); border-color:var(--green-dark); box-shadow:var(--shadow); }
.btn input { display:none; }
.menu { position:relative; }
.menu-trigger { display:inline-flex; align-items:center; gap:7px; }
.menu-caret { font-size:9px; color:var(--muted); transition:transform .15s ease; }
.menu.open .menu-trigger { border-color:#95c7b3; background:var(--mint); }
.menu.open .menu-caret { transform:rotate(180deg); }
.menu-panel { position:absolute; top:calc(100% + 8px); left:0; min-width:240px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:var(--shadow-lg); padding:9px; display:none; flex-direction:column; gap:2px; z-index:30; }
.menu.open .menu-panel { display:flex; animation:menuIn .15s ease; }
@keyframes menuIn { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
.menu-item { display:flex; align-items:center; gap:8px; width:100%; text-align:left; border:0; background:transparent; padding:9px 10px; border-radius:8px; font-size:12px; font-weight:600; color:var(--ink); cursor:pointer; transition:background-color .12s ease; }
.menu-item:hover { background:var(--mint); }
.menu-item.primary { color:var(--green-dark); }
.menu-item.primary:hover { background:var(--mint); }
.menu-item.danger { color:var(--red); }
.menu-item.danger:hover { background:#fde8e6; }
.menu-divider { height:1px; background:var(--line); margin:5px 4px; }
.kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:24px; }
.kpi { background:var(--card); border:1px solid var(--line); box-shadow:var(--shadow-sm); border-radius:var(--radius-md); padding:18px 19px; position:relative; overflow:hidden; transition:box-shadow .18s ease, transform .18s ease; }
.kpi:hover { box-shadow:var(--shadow); }
.kpi:before { content:""; position:absolute; left:0; top:0; width:100%; height:3px; background:linear-gradient(90deg,var(--green),#5ee0ac); opacity:.85; }
.kpi .label { color:var(--muted); font-size:11px; font-weight:600; letter-spacing:.2px; }
.kpi strong { font:700 26px/1.15 var(--font-display); display:block; margin-top:9px; letter-spacing:-.4px; font-variant-numeric:tabular-nums; }
.kpi small { color:var(--green-dark); font-size:10.5px; font-weight:600; display:block; margin-top:5px; }
.panel { border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--card); box-shadow:var(--shadow-sm); overflow:hidden; }
.panel-head { padding:19px 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:16px; justify-content:space-between; flex-wrap:wrap; }
.panel-head h2 { font:700 16.5px/1.3 var(--font-display); letter-spacing:-.2px; }
.panel-head p { color:var(--muted); font-size:11.5px; margin-top:5px; line-height:1.5; }
.tabs { display:flex; gap:3px; border-bottom:1px solid var(--line); padding:9px 14px 0; background:#fbfdfc; overflow-x:auto; scrollbar-width:thin; }
.tab { border:0; background:transparent; color:var(--muted); padding:10px 15px; font-size:12.5px; font-weight:600; border-radius:8px 8px 0 0; white-space:nowrap; position:relative; transition:background-color .14s ease, color .14s ease; flex:none; }
.tab:hover { color:var(--green-dark); background:rgba(8,127,91,.06); }
.tab.active { color:var(--green-dark); background:var(--card); }
.tab.active:after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--green); border-radius:2px 2px 0 0; }
.tab-ic { display:inline-block; margin-right:7px; font-size:13px; opacity:.9; }
.toolbar { display:flex; flex-wrap:wrap; gap:8px; padding:15px 19px; background:#fbfdfc; border-bottom:1px solid var(--line); align-items:center; }
.toolbar input,.toolbar select { border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); padding:8px 10px; font-size:12px; outline:none; }
.toolbar input:focus,.toolbar select:focus { border-color:#70b89d; box-shadow:0 0 0 3px #d9f3e5; }
.search { flex:1; min-width:215px; }
.table-wrap { overflow:auto; max-height:610px; }
table { border-collapse:collapse; width:100%; min-width:940px; font-size:12.5px; }
th,td { padding:11px 13px; border-bottom:1px solid #edf2ef; text-align:left; white-space:nowrap; }
th { position:sticky; top:0; z-index:1; background:#f1f7f3; color:#6a8178; text-transform:uppercase; letter-spacing:.7px; font-size:10px; }
th[data-sort-col] { cursor:pointer; user-select:none; }
th[data-sort-col]:hover { color:var(--green-dark); }
th.sorted-asc:after { content:" ▲"; } th.sorted-desc:after { content:" ▼"; }
tbody tr:hover { background:#f5fbf7; }
tbody tr { cursor:pointer; }
.name { font-weight:700; color:var(--ink); }
.muted { color:var(--muted); }
.badge { display:inline-flex; align-items:center; border-radius:20px; padding:4px 8px; font-size:10px; font-weight:700; }
.badge.green { background:#e0f6ea; color:#13734f; }
.badge.amber { background:#fff2da; color:#9b620d; }
.badge.blue { background:#e3f0fd; color:#1c5a96; }
.badge.gray { background:#edf1f0; color:#60716d; }
.badge.red { background:#fbe7e6; color:#a3352f; }
.progress { display:flex; align-items:center; gap:7px; min-width:92px; }
.progress i { display:block; width:50px; height:6px; border-radius:6px; background:#e8eeeb; overflow:hidden; }
.progress i:after { content:""; display:block; height:100%; width:var(--pct); background:var(--green); border-radius:6px; }
.empty { padding:42px 20px; color:var(--muted); text-align:center; }
.source-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; padding:18px 19px; }
.source-card { border:1px solid var(--line); padding:14px; border-radius:10px; background:#fbfdfc; }
.source-card strong { display:block; font-size:13px; margin-bottom:6px; }
.source-card span { color:var(--muted); font-size:11px; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.source-card .source-status { color:var(--green); font-weight:700; margin-top:10px; }
.drawer { position:fixed; inset:0; display:none; z-index:150; }
.drawer.open { display:block; }
.backdrop { position:absolute; inset:0; background:rgba(4,26,20,.42); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); }
.drawer-panel { position:absolute; top:0; right:0; width:min(490px,100%); height:100%; background:var(--card); box-shadow:var(--shadow-lg); overflow:auto; }
.drawer-head { padding:21px 22px; background:#10352d; color:#fff; display:flex; justify-content:space-between; align-items:flex-start; }
.drawer-head h2 { font:700 18px var(--font-display); }
.drawer-head p { color:#a4c8ba; font-size:11px; margin-top:5px; }
.close { border:0; background:transparent; color:#c9e5d9; font-size:23px; line-height:1; }
.modal { position:fixed; inset:0; display:none; z-index:160; align-items:center; justify-content:center; padding:20px; }
.modal.open { display:flex; }
.modal-panel { position:relative; background:var(--card); border-radius:8px; box-shadow:var(--shadow-lg); max-width:560px; width:100%; max-height:85vh; overflow:auto; }
.modal-body { padding:22px 24px 24px; }
.modal-body h3 { font:700 14.5px var(--font-display); margin:16px 0 6px; }
.modal-body h3:first-child { margin-top:0; }
.modal-body p,.modal-body li { color:var(--muted); font-size:12.5px; line-height:1.55; }
.modal-body ol,.modal-body ul { margin:0; padding-left:19px; display:grid; gap:4px; }
.modal-note { margin-top:16px; border:1px solid #bde5cf; background:#e0f6ea; color:#135b40; border-radius:12px; padding:12px 14px; font-size:12.5px; }
.modal-note.warn { border-color:#f0c0bb; background:#fde8e6; color:#8a2a23; }
.modal-note-label { display:inline-block; background:var(--red); color:#fff; font-size:10px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; padding:2px 8px; border-radius:999px; margin-right:6px; }
.modal-actions { display:flex; justify-content:flex-end; margin-top:20px; }
.form { padding:20px 22px; display:grid; gap:14px; }
.field { display:grid; gap:6px; }
.field label { font-size:10px; font-weight:700; color:var(--muted); letter-spacing:.6px; text-transform:uppercase; }
.field input,.field select,.field textarea { width:100%; border:1px solid var(--line); border-radius:7px; padding:9px 10px; outline:none; color:var(--ink); background:#fff; }
.field textarea { min-height:95px; resize:vertical; }
.field details { border:1px solid var(--line); border-radius:8px; padding:10px 12px; background:#fbfdfc; }
.field details summary { cursor:pointer; font-size:11px; font-weight:700; color:var(--green); letter-spacing:.3px; }
.field details[open] summary { margin-bottom:10px; }
.org-hierarchy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.drawer-actions { display:flex; justify-content:flex-end; gap:8px; padding-top:6px; }
.dynamic-fields { display:grid; gap:14px; }
.column-tools { display:flex; justify-content:space-between; align-items:center; gap:8px; padding-top:4px; }
.column-tools span { color:var(--muted); font-size:11px; }
.toast { position:fixed; bottom:22px; right:22px; background:#10352d; color:#fff; padding:11px 15px; border-radius:8px; font-size:12px; box-shadow:var(--shadow); transform:translateY(20px); opacity:0; pointer-events:none; transition:.2s; z-index:170; }
.toast.show { transform:none; opacity:1; }
.global-progress-bar { position:fixed; top:0; left:0; right:0; height:3px; background:rgba(8,127,91,.12); z-index:999; pointer-events:none; }
.global-progress-fill { height:100%; width:6%; background:linear-gradient(90deg,var(--green),#5ee0ac); box-shadow:0 0 10px rgba(8,127,91,.55); transition:width .35s ease; }
.global-progress-status { position:fixed; top:12px; right:18px; z-index:999; background:var(--card); border:1px solid var(--line); border-radius:999px; padding:7px 14px 7px 11px; font-size:12px; font-weight:600; color:var(--green-dark); box-shadow:var(--shadow); display:flex; align-items:center; gap:8px; max-width:min(360px,60vw); }
.global-progress-status[hidden], .global-progress-bar[hidden] { display:none !important; }
.global-progress-status { top:auto; bottom:24px; right:24px; max-width:min(520px,calc(100vw - 32px)); padding:14px 20px; gap:14px; border-radius:18px; background:linear-gradient(135deg,rgba(15,53,45,.96),rgba(29,42,74,.96)); border-color:rgba(156,240,205,.3); color:#e6f4ee; backdrop-filter:blur(16px); box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 12px 32px rgba(0,0,0,.24); }
.global-progress-status .loading-infinity { width:88px; height:44px; flex:none; }
.global-progress-status .loading-copy { display:grid; gap:5px; min-width:0; }
.global-progress-status .loading-copy strong { font-size:13px; line-height:1.4; }
.global-progress-status span#global-progress-text { font-size:12px; font-weight:400; color:#bcd9cd; overflow-wrap:anywhere; }
.global-progress-spinner { width:12px; height:12px; border-radius:50%; border:2px solid var(--mint); border-top-color:var(--green); flex:none; animation:globalSpin .7s linear infinite; }
@keyframes globalSpin { to { transform:rotate(360deg); } }
.selection-cell { width:38px; text-align:center; }
tbody tr.row-missing td { background:#fdf3f2; }
tbody tr.row-found td { background:#f2fbf6; }
tbody tr.row-terminated td { background:#fff2da; }
tbody tr.row-working td { background:#fff2da; }
.selection-cell input { accent-color:var(--green); }
tr.is-deleted { opacity:.56; background:#fff7f6; }
.cell-input { width:100%; min-width:88px; border:1px solid transparent; background:transparent; border-radius:4px; padding:4px 6px; font:inherit; color:inherit; white-space:normal; }
.cell-input:hover { border-color:#d3ddd7; }
.cell-input:focus { border-color:#76b99f; background:#fff; outline:none; box-shadow:0 0 0 2px rgba(8,127,91,.12); }
select.cell-input { cursor:pointer; }
tr.is-selected { background:#eaf8f0; }
.bulk-actions { display:flex; gap:7px; align-items:center; flex-wrap:wrap; }
.bulk-actions .btn { padding:7px 9px; font-size:11px; }
.audit-wrap { overflow:auto; max-height:610px; }
.audit-table { min-width:980px; }
.audit-table td { white-space:normal; vertical-align:top; }
.audit-value { max-width:180px; overflow:hidden; text-overflow:ellipsis; }
.danger { color:#a13e3a; border-color:#efc2bf; }
.deleted-filter { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:12px; padding:0 4px; }
.row-id { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:10px; color:var(--muted); }
.drawer-meta { padding:0 22px; color:var(--muted); font-size:10px; }
.history-empty { padding:38px 20px; color:var(--muted); text-align:center; }
.error-log-count { display:inline-block; margin-left:6px; background:var(--red); color:#fff; border-radius:999px; padding:1px 7px; font-size:10px; font-weight:700; }
.error-log-actions { display:flex; gap:8px; padding:14px 22px 0; }
.error-log-list { padding:14px 22px 22px; display:grid; gap:10px; }
.error-log-entry { border:1px solid var(--line); border-radius:9px; padding:11px 13px; background:#fff8f7; }
.error-log-entry .error-log-time { font-size:10px; color:var(--muted); font-weight:700; letter-spacing:.4px; text-transform:uppercase; }
.error-log-entry .error-log-context { font-size:12px; font-weight:700; color:#a13e3a; margin-top:3px; }
.error-log-entry .error-log-detail { font-size:11px; color:var(--ink); margin-top:6px; white-space:pre-wrap; word-break:break-word; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.email-drawer-panel { width:min(560px,100%); }
.email-chips { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px; }
.email-chip { display:inline-flex; align-items:center; gap:6px; background:#eaf8f0; border:1px solid #b8e2c7; color:var(--green-dark); border-radius:999px; padding:5px 6px 5px 11px; font-size:11px; }
.email-chip.invalid { background:#fbe7e6; border-color:#f0b9b6; color:#a13e3a; }
.email-chip button { border:0; background:transparent; color:inherit; cursor:pointer; font-size:13px; line-height:1; padding:2px; border-radius:50%; }
.email-chip button:hover { background:rgba(0,0,0,.08); }
.email-checkbox-label { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:500; color:var(--ink); text-transform:none; letter-spacing:normal; }
.email-checkbox-label input { width:auto; accent-color:var(--green); }
.email-attachments-list { display:grid; gap:6px; margin-top:8px; }
.email-attachment-row { display:flex; align-items:center; justify-content:space-between; gap:8px; border:1px solid var(--line); border-radius:7px; padding:7px 10px; font-size:11px; background:#fbfdfc; }
.email-attachment-row strong { font-size:11px; }
.email-attachment-row span { color:var(--muted); }
.email-attachment-row button { border:0; background:transparent; color:#a13e3a; cursor:pointer; font-size:11px; font-weight:700; }
.email-attachment-row > div { min-width:0; }
.email-attachment-thumb { display:block; max-width:100%; max-height:170px; margin-top:7px; border:1px solid var(--line); border-radius:6px; background:#fff; }
.email-total-size { font-size:10px; color:var(--muted); margin-top:4px; }
.email-total-size.over { color:#a13e3a; font-weight:700; }
.bulk-editor { display:flex; flex-wrap:wrap; gap:8px; align-items:end; padding:12px 19px; background:#f5fbf7; border-bottom:1px solid var(--line); }
.bulk-editor[hidden] { display:none; }
.bulk-editor .field[hidden] { display:none; }
.bulk-editor .field { min-width:180px; gap:4px; }
.bulk-editor label { display:block; font-size:10px; color:var(--muted); font-weight:700; text-transform:uppercase; }
.bulk-editor input,.bulk-editor select { border:1px solid var(--line); border-radius:7px; padding:7px 9px; background:#fff; }
/* --- Masterlist License Matching tab --- */
.lm-master-status { margin:0 19px 16px; padding:10px 14px; border-radius:9px; border:1px solid var(--line); background:#f2fbf6; color:var(--green-dark); font-size:12px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.lm-master-status.warn { background:#fff6e6; border-color:#f0c975; color:#8a5b00; }
.lm-master-status strong { font:700 12px var(--font-display); }
.lm-section { padding:18px 19px; border-bottom:1px solid var(--line); }
.lm-section:last-child { border-bottom:0; }
.lm-section-head { display:flex; align-items:baseline; gap:10px; margin-bottom:12px; }
.lm-section-head .lm-step { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:var(--mint); color:var(--green-dark); font:700 11px var(--font-display); flex:none; }
.lm-section-head h3 { font:700 14px var(--font-display); color:var(--green-dark); }
.lm-section-head p { color:var(--muted); font-size:11px; margin-top:2px; }
.lm-dropzone { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:26px 16px; border:2px dashed #93c8ad; border-radius:11px; background:#f2fbf6; color:var(--green); cursor:pointer; text-align:center; transition:.15s; }
.lm-dropzone:hover,.lm-dropzone.dragover { background:#e2f6ea; border-color:var(--green); }
.lm-dropzone strong { font-size:13px; }
.lm-dropzone span { color:var(--muted); font-size:11px; }
.lm-dropzone input { display:none; }
.lm-file-card { display:none; margin-top:12px; padding:12px 14px; border:1px solid var(--line); border-radius:9px; background:#fbfdfc; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.lm-file-card.show { display:flex; }
.lm-file-card .lm-file-meta strong { font-size:12px; }
.lm-file-card .lm-file-meta span { display:block; color:var(--muted); font-size:11px; margin-top:2px; }
.lm-sheet-row { display:none; align-items:center; gap:10px; margin-top:10px; flex-wrap:wrap; }
.lm-sheet-row.show { display:flex; }
.lm-sheet-row label { font-size:12px; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:8px; }
.lm-sheet-row select { min-width:220px; }
.lm-error-banner { display:none; margin-top:10px; padding:10px 13px; border-radius:8px; background:#fbe7e6; color:#a3352f; font-size:12px; }
.lm-error-banner.show { display:block; }
.lm-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px; }
.lm-field { display:grid; gap:5px; }
.lm-field label { font-size:10px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.4px; }
.lm-field input[list],.lm-field select,.lm-field input[type="text"] { border:1px solid var(--line); border-radius:7px; padding:8px 10px; background:#fff; color:var(--ink); width:100%; }
.lm-checkbox-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:8px; margin-top:12px; }
.lm-checkbox { display:flex; align-items:flex-start; gap:8px; font-size:12px; color:var(--ink); }
.lm-checkbox input { margin-top:2px; accent-color:var(--green); }
.lm-radio-group { display:flex; flex-wrap:wrap; gap:14px; margin-top:10px; }
.lm-radio { display:flex; align-items:center; gap:6px; font-size:12px; }
.lm-radio input { accent-color:var(--green); }
.lm-columns-pick { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
.lm-columns-pick select { width:100%; border:1px solid var(--line); border-radius:7px; background:#fff; }
.lm-run-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.lm-progress-bar { flex:1; min-width:160px; height:8px; border-radius:5px; background:#e6f1eb; overflow:hidden; display:none; }
.lm-progress-bar.show { display:block; }
.lm-progress-bar i { display:block; height:100%; width:35%; background:var(--green); animation:lmProgress 1.1s ease-in-out infinite; }
@keyframes lmProgress { 0% { margin-left:-35%; } 100% { margin-left:100%; } }
.lm-log { margin-top:10px; font-size:11px; color:var(--muted); background:#fbfdfc; border:1px solid var(--line); border-radius:8px; padding:9px 11px; max-height:120px; overflow:auto; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.lm-validation-list { display:grid; gap:8px; margin-top:10px; }
.lm-validation-item { border:1px solid var(--line); border-left:4px solid var(--orange); border-radius:7px; padding:9px 12px; background:#fffaf1; font-size:12px; }
.lm-validation-item strong { display:block; margin-bottom:3px; }
.lm-validation-item .lm-rows { color:var(--muted); font-size:11px; }
.lm-table-toolbar { display:flex; flex-wrap:wrap; gap:9px; align-items:center; padding:12px 19px; border-bottom:1px solid var(--line); background:#fbfdfc; }
.lm-table-toolbar input,.lm-table-toolbar select { border:1px solid var(--line); border-radius:7px; padding:7px 9px; background:#fff; }
.lm-col-toggle-panel { display:flex; flex-wrap:wrap; gap:8px; padding:10px 19px; border-bottom:1px solid var(--line); }
.lm-col-toggle-panel label { display:flex; align-items:center; gap:5px; font-size:11px; color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:14px; padding:3px 9px; }
.lm-table-wrap { max-height:520px; overflow:auto; }
.lm-table-wrap table { border-collapse:collapse; width:max-content; min-width:100%; }
.lm-table-wrap th { position:sticky; top:0; background:#f2f8f4; z-index:1; cursor:pointer; user-select:none; resize:horizontal; overflow:auto; min-width:90px; max-width:420px; }
.lm-table-wrap th,.lm-table-wrap td { border:1px solid var(--line); padding:7px 10px; font-size:12px; white-space:nowrap; }
.lm-table-wrap td { cursor:copy; }
.lm-table-wrap th.sorted-asc:after { content:" ▲"; } .lm-table-wrap th.sorted-desc:after { content:" ▼"; }
.lm-pagination { display:flex; align-items:center; gap:9px; padding:11px 19px; flex-wrap:wrap; }
.lm-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
@media (max-width:900px) { .lm-kpis { grid-template-columns:repeat(2,1fr); } }
.lm-table-wrap tr.lm-row-green td { background:#f2fbf6; }
.lm-table-wrap tr.lm-row-red td { background:#fdf3f2; }
.lm-table-wrap tr.lm-row-amber td { background:#fff8ec; }
.lm-table-wrap tr.lm-row-gray td { background:#f4f6f5; }
.active-filters { display:flex; flex-wrap:wrap; gap:7px; padding:9px 19px; border-bottom:1px solid var(--line); background:#f5fbf7; }
.filter-chip { display:inline-flex; align-items:center; gap:7px; border:1px solid #b8deca; border-radius:16px; background:#e7f7ed; color:#176548; padding:4px 9px; font-size:11px; }
.filter-chip button { border:0; background:transparent; color:#176548; font-weight:700; padding:0; }
.match-upload { display:flex; gap:12px; align-items:center; padding:18px 19px; border-bottom:1px solid var(--line); background:#fbfdfc; }
.upload-drop { display:flex; flex-direction:column; gap:4px; min-width:290px; padding:14px 16px; border:1px dashed #93c8ad; border-radius:9px; background:#f2fbf6; color:var(--green); cursor:pointer; }
.upload-drop:hover { background:#e7f7ed; }
.upload-drop strong { font-size:12px; }
.upload-drop span { color:var(--muted); font-size:10px; }
.upload-drop input { display:none; }
.match-file { color:var(--muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.match-controls { display:flex; flex-wrap:wrap; align-items:end; gap:10px; padding:15px 19px; border-bottom:1px solid var(--line); }
.match-controls .field { display:grid; gap:5px; min-width:210px; }
.match-controls label { color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.match-controls select { border:1px solid var(--line); border-radius:7px; padding:8px 10px; background:#fff; color:var(--ink); }
.match-summary { padding:12px 19px; color:var(--muted); font-size:12px; border-bottom:1px solid var(--line); }
.match-table-wrap { max-height:530px; }
.saviynt-box { padding:16px 19px; border-bottom:1px solid var(--line); background:#f4fbf7; }
.saviynt-box strong { font:700 14px var(--font-display); color:var(--green-dark); }
.saviynt-box p { color:var(--muted); font-size:11px; margin:4px 0 12px; }
.saviynt-mapping { display:grid; gap:7px; margin-bottom:10px; }
.mapping-row { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.mapping-row select { min-width:220px; border:1px solid var(--line); border-radius:7px; padding:8px 10px; background:#fff; color:var(--ink); }
.mapping-row .arrow { color:var(--green); font-weight:700; }
.mapping-row button { border:0; background:transparent; color:var(--red); font-size:18px; }
.match-columns { display:flex; gap:14px; align-items:center; padding:13px 19px; border-bottom:1px solid var(--line); background:#fbfdfc; }
.match-columns strong { font-size:12px; color:var(--green-dark); }
.match-columns p { color:var(--muted); font-size:11px; margin-top:3px; }
.match-columns select { min-width:300px; border:1px solid var(--line); border-radius:7px; padding:6px; background:#fff; color:var(--ink); }
/* ---- Account verification: dashboard ---- */
.vd { padding:18px 19px; border-bottom:1px solid var(--line); background:linear-gradient(180deg,#f2faf6,#fbfdfc); display:grid; gap:14px; }
.vd-intro { display:grid; grid-template-columns:minmax(250px,1fr) 2fr; gap:18px; align-items:center; }
.vd-eyebrow { color:var(--green); font-size:10px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; }
.vd-intro h3 { font:700 17px/1.3 var(--font-display); margin:4px 0 0; letter-spacing:-.2px; }
.vd-intro p { color:var(--muted); font-size:11.5px; margin:6px 0 0; line-height:1.55; }
.vd-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.vd-steps li { display:flex; gap:10px; align-items:flex-start; background:var(--card); border:1px solid var(--line); border-radius:var(--radius-md); padding:11px 12px; min-width:0; transition:border-color .15s ease, box-shadow .15s ease; }
.vd-step-num { flex:none; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font:700 12px var(--font-display); background:#edf1f0; color:#60716d; }
.vd-steps strong { font-size:12.5px; display:block; }
.vd-steps small { color:var(--muted); font-size:10.5px; line-height:1.4; display:block; margin-top:2px; }
.vd-steps li.done .vd-step-num { background:var(--green); color:#fff; }
.vd-steps li.current { border-color:#8fcdb2; box-shadow:0 0 0 3px #e3f5ec; }
.vd-steps li.current .vd-step-num { background:var(--mint); color:var(--green-dark); }
.vd-kpis { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:9px; }
.vd-kpi { --accent:#8fa8c9; text-align:left; border:1px solid var(--line); background:var(--card); border-radius:var(--radius-md); padding:12px 13px 11px; position:relative; overflow:hidden; box-shadow:var(--shadow-sm); font:inherit; color:inherit; min-width:0; }
.vd-kpi:before { content:""; position:absolute; left:0; top:0; height:3px; width:100%; background:var(--accent); }
button.vd-kpi { cursor:pointer; }
button.vd-kpi:hover:not(:disabled) { box-shadow:var(--shadow); }
button.vd-kpi:disabled { cursor:default; }
.vd-kpi.active { outline:2px solid var(--accent); outline-offset:-2px; }
.vd-kpi .label { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; display:block; }
.vd-kpi strong { display:block; font:700 24px/1.1 var(--font-display); margin-top:6px; font-variant-numeric:tabular-nums; }
.vd-kpi small { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; color:var(--muted); font-size:10.5px; line-height:1.35; margin-top:3px; min-height:2.7em; overflow:hidden; }
.vd-bar { height:5px; border-radius:5px; background:#e8eeeb; overflow:hidden; margin-top:8px; }
.vd-bar i { display:block; height:100%; width:var(--pct,0%); background:var(--accent,var(--green)); border-radius:5px; transition:width .3s ease; }
.vd-insights { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }
.vd-card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius-md); padding:13px 14px 6px; box-shadow:var(--shadow-sm); min-width:0; }
.vd-card h4 { font:700 12.5px var(--font-display); margin:0 0 11px; display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.vd-card h4 span { color:var(--muted); font:600 10.5px var(--font-body); }
.vd-metric { --accent:var(--green); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 8px; font-size:11.5px; padding:4px 6px 5px; margin:0 -6px 4px; border-radius:6px; }
button.vd-metric { width:calc(100% + 12px); border:0; background:transparent; font:inherit; font-size:11.5px; color:inherit; text-align:left; cursor:pointer; transition:background-color .12s ease; }
button.vd-metric:hover { background:#eef8f2; }
button.vd-metric:hover .vd-metric-name { color:var(--green-dark); text-decoration:underline; text-underline-offset:2px; }
.vd-metric.active { background:#e2f5ea; box-shadow:inset 0 0 0 1px #7cc4a3; }
.vd-more { border:0; background:transparent; color:var(--green-dark); font-size:11px; font-weight:700; padding:2px 0 8px; cursor:pointer; }
.vd-more:hover { text-decoration:underline; }
.vd-hint { grid-column:1 / -1; color:var(--muted); font-size:11px; margin-bottom:-2px; }
.vd-metric .vd-bar { grid-column:1 / -1; margin-top:0; }
.vd-metric b { font-variant-numeric:tabular-nums; font-weight:700; }
.vd-metric-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vd-attention { display:grid; gap:6px; padding-bottom:8px; }
.vd-attention button { display:flex; justify-content:space-between; align-items:center; gap:8px; width:100%; border:1px solid var(--line); background:#fbfdfc; border-radius:7px; padding:6px 9px; font-size:11.5px; color:var(--ink); text-align:left; }
.vd-attention button:hover:not(:disabled) { border-color:#95c7b3; background:#f2f9f5; }
.vd-attention button:disabled { cursor:default; opacity:.55; }
.vd-attention button.active { border-color:var(--green); background:#e7f7ed; }
.vd-attention b { min-width:26px; text-align:center; border-radius:20px; padding:2px 7px; font-size:10.5px; background:#edf1f0; color:#60716d; }
.vd-attention b.warn { background:#fff2da; color:#9b620d; }
.vd-attention b.bad { background:#fbe7e6; color:#a3352f; }
.vd-note { color:var(--muted); font-size:11px; padding-bottom:8px; }
.vd-filter-bar { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:9px 19px; background:#e7f7ed; border-bottom:1px solid #b8deca; color:#176548; font-size:12px; }
.vd-filter-bar button { border:1px solid #9fd1b8; background:#fff; color:#176548; border-radius:6px; padding:4px 10px; font-size:11px; font-weight:700; }
.vsd-mode { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:13px 19px; border-bottom:1px solid var(--line); background:#fbfdfc; }
.vsd-mode span { color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; }
#verify-view.compare-saviynt .entra-only { display:none !important; }
/* ---- Extract from Entra: user details page ---- */
.eud-bar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:13px 19px; border-bottom:1px solid var(--line); background:#fbfdfc; }
.eud-crumb { color:var(--muted); font-size:12px; }
.eud-crumb strong { color:var(--ink); font-weight:600; }
.eud-hero { display:flex; flex-wrap:wrap; align-items:flex-start; gap:18px; padding:22px 24px 20px; color:#fff; background:linear-gradient(135deg,#10352d,#0d4a3b); }
.eud-avatar { flex:none; width:64px; height:64px; border-radius:50%; display:grid; place-items:center; font:700 23px var(--font-display); color:#fff; background:linear-gradient(135deg,#5ee0ac,#087f5b); box-shadow:0 0 0 3px rgba(255,255,255,.16); }
.eud-avatar.off { background:linear-gradient(135deg,#9aa7a3,#5d6f6a); }
.eud-id { flex:1; min-width:240px; }
.eud-id h2 { font:700 24px/1.2 var(--font-display); letter-spacing:-.4px; overflow-wrap:anywhere; }
.eud-sub { color:#bfe0d2; font-size:13px; margin-top:4px; }
.eud-upn { color:#a4c8ba; font:12px Consolas,"Cascadia Mono",monospace; margin-top:4px; overflow-wrap:anywhere; }
.eud-badges { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.eud-hero-actions { flex:none; }
.eud-ghost { border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.1); color:#fff; border-radius:6px; padding:8px 15px; font-size:12px; font-weight:600; }
.eud-ghost:hover:not(:disabled) { background:rgba(255,255,255,.22); }
.eud-ghost:disabled { opacity:.4; cursor:default; }
.eud-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1px; background:var(--line); border-bottom:1px solid var(--line); }
.eud-fact { background:var(--card); padding:12px 18px; min-width:0; }
.eud-fact span { display:block; color:var(--muted); font-size:9.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; }
.eud-fact strong { display:block; margin-top:3px; font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.eud-chips { display:flex; flex-wrap:wrap; gap:6px; flex:1 1 100%; }
.eud-chip { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:20px; padding:5px 11px; font-size:12px; font-weight:600; }
.eud-chip span { background:var(--mint); color:var(--green-dark); border-radius:10px; padding:0 7px; font-size:10.5px; line-height:18px; }
.eud-chip:hover { border-color:#95c7b3; background:#f2f9f5; }
.eud-chip.active { background:var(--green); border-color:var(--green); color:#fff; }
.eud-chip.active span { background:rgba(255,255,255,.22); color:#fff; }
.eud-chip.is-empty { opacity:.55; }
.eud-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; padding:16px 19px 18px; }
.eud-grid.single { grid-template-columns:minmax(0,1fr); }
.eud-col { display:grid; gap:14px; align-content:start; min-width:0; }
.eud-card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); overflow:hidden; min-width:0; }
.eud-card.compact { grid-column:1 / -1; }
.eud-card h3 { display:flex; align-items:center; gap:8px; margin:0; padding:11px 15px; font:700 13px var(--font-display); border-bottom:1px solid var(--line); background:#fbfdfc; }
.eud-meta { margin-left:auto; color:var(--muted); font:600 10.5px var(--font-body); }
.eud-row { display:grid; grid-template-columns:150px minmax(0,1fr) auto; gap:12px; align-items:start; padding:9px 15px; border-bottom:1px solid #eef3f0; }
.eud-row:last-child { border-bottom:0; }
.eud-row:hover { background:#f7fbf9; }
.eud-row.is-empty { padding-top:6px; padding-bottom:6px; }
.eud-label { color:var(--muted); font-size:11.5px; font-weight:600; padding-top:2px; }
.eud-row.is-empty .eud-label { color:#a3b3ae; font-weight:500; }
.eud-value { min-width:0; font-size:13px; overflow-wrap:anywhere; user-select:text; }
.eud-mono { font:12px/1.55 Consolas,"Cascadia Mono",monospace; }
.eud-none { color:#b4c2bd; }
.eud-copy, .eud-card-copy { border:1px solid var(--line); background:#fff; color:var(--green-dark); border-radius:6px; padding:2px 9px; font-size:10.5px; font-weight:600; opacity:0; transition:opacity .12s ease; }
.eud-card-copy { padding:3px 9px; }
.eud-row:hover .eud-copy, .eud-card:hover .eud-card-copy, .eud-copy:focus-visible, .eud-card-copy:focus-visible { opacity:1; }
.eud-copy:hover, .eud-card-copy:hover { background:var(--mint); border-color:#95c7b3; }
@media (hover:none) { .eud-copy, .eud-card-copy { opacity:1; } }
.eud-tags { display:flex; flex-wrap:wrap; gap:5px; }
.eud-tag { border:1px solid #cfe5da; background:#f2faf6; color:var(--green-dark); border-radius:14px; padding:2px 10px; font-size:12px; font-weight:500; text-align:left; overflow-wrap:anywhere; }
.eud-tag:hover { background:var(--mint); }
.eud-lines { list-style:none; margin:0; padding:0; display:grid; gap:4px; }
.eud-lines li { padding:3px 8px; background:#f6faf8; border:1px solid #e5eee9; border-radius:6px; font-size:12px; cursor:copy; overflow-wrap:anywhere; }
.eud-lines li:hover { background:var(--mint); }
.eud-card.compact .eud-rows { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.eud-card.compact .eud-row { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"label copy" "value value"; gap:2px 8px; border-right:1px solid #eef3f0; }
.eud-card.compact .eud-label { grid-area:label; }
.eud-card.compact .eud-value { grid-area:value; }
.eud-card.compact .eud-copy { grid-area:copy; }
.eud-card.compact .eud-row.is-wide { grid-column:1 / -1; border-right:0; }
@media (max-width:1400px) { .vd-insights { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:1180px) { .eud-grid { grid-template-columns:minmax(0,1fr); } .eud-card.compact .eud-rows { grid-template-columns:repeat(2,minmax(0,1fr)); } }
#entraextract-gate[hidden], #entraextract-subtabs[hidden], .eud-facts[hidden] { display:none !important; }
/* ---- General Search ---- */
#generalsearch-view [hidden] { display:none !important; }
.gs-sources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:16px 19px 4px; }
.gs-source { display:flex; align-items:center; gap:14px; padding:14px 16px; background:var(--card); border:1px solid var(--line); border-left:4px solid var(--line); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); }
.gs-source.entra { border-left-color:#2f6fd0; }
.gs-source.saviynt { border-left-color:#e08a1e; }
.gs-src-ic { flex:none; width:42px; height:42px; border-radius:12px; display:grid; place-items:center; font:700 18px var(--font-display); color:#fff; }
.gs-source.entra .gs-src-ic { background:linear-gradient(135deg,#4f8fe6,#2f6fd0); }
.gs-source.saviynt .gs-src-ic { background:linear-gradient(135deg,#f4b04c,#e08a1e); }
.gs-src-body { display:grid; gap:2px; min-width:0; }
.gs-src-body strong { font:700 13px var(--font-display); }
.gs-src-count { font:700 26px/1.1 var(--font-display); letter-spacing:-.5px; }
.gs-src-state { color:var(--muted); font-size:12px; }
.gs-src-state.warn { color:#8a5b00; }
.gs-src-state.bad { color:#a3352f; }
.gs-progress { height:5px; width:min(260px,100%); margin-top:6px; border-radius:4px; background:#e8eeeb; overflow:hidden; }
.gs-progress i { display:block; height:100%; width:40%; border-radius:4px; background:var(--green); animation:gs-slide 1.1s ease-in-out infinite; }
.gs-progress.det i { animation:none; transition:width .15s linear; }
.gs-indexing { margin-top:8px; font-size:12px; color:var(--muted); }
@keyframes gs-slide { 0% { margin-left:-40%; } 100% { margin-left:100%; } }
.gs-linkbtn { border:0; background:transparent; padding:2px 0; color:var(--green-dark); font-size:12px; font-weight:600; text-align:left; text-decoration:underline; cursor:pointer; }
.gs-live-offer { margin-top:8px; font-size:12.5px; color:var(--muted); }
.gs-live-offer[hidden], .gs-live[hidden] { display:none !important; }
.gs-live { margin-top:12px; }
.gs-live-card { display:flex; align-items:flex-start; gap:16px; padding:16px 18px; border:1px solid rgba(8,127,91,.28); border-radius:14px; background:linear-gradient(135deg,#f1fbf6,#eef1fd); box-shadow:var(--shadow-sm); }
.gs-live-card.is-done { background:#f7faf8; border-color:var(--line); }
.gs-live-card .loading-infinity { width:96px; height:48px; flex:none; }
.gs-live-done { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; flex:none; border-radius:50%; background:var(--mint); color:var(--green-dark); font-weight:800; }
.gs-live-copy { display:grid; gap:6px; min-width:0; flex:1 1 auto; }
.gs-live-copy strong { font-size:14px; color:var(--green-dark); }
.gs-live-copy p { margin:0; font-size:12.5px; color:var(--ink); }
.gs-live-sub { color:var(--muted); }
.gs-live-steps { list-style:none; margin:4px 0 0; padding:0; display:grid; gap:4px; }
.gs-live-steps li { display:flex; flex-wrap:wrap; gap:4px 10px; font-size:12.5px; align-items:baseline; }
.gs-live-steps b { min-width:150px; }
.gs-live-steps span { color:var(--muted); overflow-wrap:anywhere; }
.gs-live-steps li.error span { color:#a3352f; }
.gs-live-steps li.done span { color:var(--green-dark); }
.gs-live-card .btn { flex:none; }
.gs-live-save[hidden] { display:none !important; }
.gs-live-save { margin-top:10px; }
.gs-save-card { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:14px 18px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:var(--shadow-sm); }
.gs-save-copy { display:grid; gap:5px; min-width:0; }
.gs-save-copy strong { font-size:14px; }
.gs-save-copy p { margin:0; font-size:12.5px; color:var(--muted); }
.gs-save-copy .gs-save-targets { color:var(--ink); font-weight:600; }
.gs-save-card .btn { flex:none; }
.gs-save-result { margin:8px 2px 0; font-size:12.5px; }
.gs-save-result.ok { color:var(--green-dark); }
.gs-save-result.warn { color:#8a5b00; }
.gs-save-result.bad { color:#a3352f; }
@media (max-width:640px) { .gs-save-card { flex-wrap:wrap; } }
@media (max-width:640px) { .gs-live-card { flex-wrap:wrap; } .gs-live-steps b { min-width:0; } }
@media (prefers-reduced-motion:reduce) { .gs-progress i { animation-duration:3s; } }
.gs-overview { display:grid; grid-template-columns:minmax(300px,400px) minmax(0,1fr); gap:14px; padding:14px 19px 4px; }
.gs-card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); padding:14px 16px; }
.gs-card h3 { font:700 13px var(--font-display); margin-bottom:4px; }
.gs-note { color:var(--muted); font-size:12px; margin-top:4px; }
.gs-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; align-content:start; }
.gs-kpi { position:relative; overflow:hidden; text-align:left; background:var(--card); border:1px solid var(--line); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); padding:15px 16px 13px; transition:box-shadow .15s ease, border-color .15s ease, transform .15s ease; }
.gs-kpi:before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--green); }
.gs-kpi.entra:before { background:#2f6fd0; }
.gs-kpi.saviynt:before { background:#e08a1e; }
.gs-kpi.warn:before { background:#d9534f; }
.gs-kpi.neutral:before { background:#8fa8c9; }
.gs-kpi:hover { border-color:#95c7b3; box-shadow:var(--shadow); transform:translateY(-1px); }
.gs-kpi strong { display:block; font:700 28px/1.1 var(--font-display); letter-spacing:-.6px; }
.gs-kpi span { display:block; margin-top:5px; font-size:12.5px; font-weight:600; }
.gs-kpi small { display:block; margin-top:2px; color:var(--muted); font-size:11px; }
.gs-modebar { padding:16px 19px 0; }
.gs-seg { display:inline-flex; gap:4px; padding:4px; background:#eaf2ee; border-radius:10px; }
.gs-seg button { border:0; background:transparent; border-radius:7px; padding:8px 16px; font-size:12.5px; font-weight:600; color:var(--muted); }
.gs-seg button.active { background:#fff; color:var(--green-dark); box-shadow:var(--shadow-sm); }
.gs-panel { padding:14px 19px 6px; }
.gs-searchbar { display:flex; align-items:center; gap:10px; padding:6px 8px 6px 16px; background:#fff; border:1.5px solid var(--line); border-radius:12px; box-shadow:var(--shadow-sm); }
.gs-searchbar:focus-within { border-color:#70b89d; box-shadow:0 0 0 4px #d9f3e5; }
.gs-search-ic { font-size:16px; opacity:.7; }
.gs-searchbar input { flex:1; min-width:0; border:0; outline:0; background:transparent; padding:11px 4px; font-size:15px; color:var(--ink); }
.gs-searchbar select { border:1px solid var(--line); border-radius:8px; padding:9px 10px; background:#f7faf8; color:var(--ink); }
.gs-hint { margin-top:8px; color:var(--muted); font-size:12px; }
.gs-list-grid { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:16px; }
.gs-list-col { display:grid; gap:10px; align-content:start; }
.gs-list-or { align-self:center; color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; }
.gs-label, .gs-fields .field label, .gs-list-actions .field label { display:block; color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.gs-list-col textarea { width:100%; min-height:130px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); font:12.5px/1.5 Consolas,"Cascadia Mono",monospace; resize:vertical; }
.gs-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.gs-fields .field, .gs-list-actions .field { display:grid; gap:5px; }
.gs-fields select, .gs-list-actions select { border:1px solid var(--line); border-radius:7px; padding:8px 10px; background:#fff; color:var(--ink); min-width:0; }
.gs-list-actions { display:flex; flex-wrap:wrap; align-items:end; gap:10px; margin-top:12px; }
.gs-list-actions .gs-hint { margin:0 0 8px; }
.gs-results { margin-top:16px; border-top:1px solid var(--line); }
.gs-results-top { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:22px; align-items:center; padding:18px 19px; background:#fbfdfc; border-bottom:1px solid var(--line); }
.gs-results-info h3 { font:700 16px var(--font-display); }
.gs-legend { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.gs-legend-item { display:inline-flex; align-items:center; gap:8px; padding:5px 6px 5px 12px; background:#fff; border:1px solid var(--line); border-radius:20px; font-size:12px; font-weight:600; }
.gs-legend-item i { width:10px; height:10px; border-radius:50%; }
.gs-legend-item b { min-width:22px; padding:1px 8px; background:#eef3f0; border-radius:12px; font-size:11px; text-align:center; }
.gs-legend-item:hover { border-color:#95c7b3; }
.gs-legend-item.active { border-color:var(--ink); box-shadow:0 0 0 2px rgba(16,37,34,.12); }
.gs-legend-item.is-zero { opacity:.5; }
.gs-bar { display:flex; height:10px; max-width:560px; margin-top:14px; border-radius:6px; overflow:hidden; background:#eef3f0; }
.gs-bar span { display:block; height:100%; }
.gs-results-actions { display:flex; gap:8px; }
.gs-table-wrap { max-height:640px; }
.gs-table { min-width:1100px; }
.gs-table td { max-width:230px; overflow:hidden; text-overflow:ellipsis; }
.gs-table td.gs-input { font-family:Consolas,"Cascadia Mono",monospace; font-size:12px; color:var(--green-dark); }
.gs-table tbody tr.is-selected { background:#e7f7ed; box-shadow:inset 3px 0 0 var(--green); }
.gs-table tbody tr.no-detail { cursor:default; }
.gs-table tbody tr:focus-visible { outline:2px solid var(--green); outline-offset:-2px; }
.gs-found { display:inline-flex; align-items:center; gap:8px; }
.gs-presence-icon { flex:none; }
.gs-tag { border-radius:20px; padding:3px 9px; font-size:10.5px; font-weight:700; }
.gs-tag.both { background:#e0f6ea; color:#13734f; }
.gs-tag.entra { background:#e3f0fd; color:#1c5a96; }
.gs-tag.saviynt { background:#fdebd2; color:#8a5410; }
.gs-tag.multiple { background:#efe7fb; color:#5b3aa6; }
.gs-tag.notfound { background:#edf1f0; color:#60716d; }
.gs-who { display:inline-flex; align-items:center; gap:9px; }
.gs-avatar { flex:none; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font:700 10px var(--font-display); color:#fff; background:linear-gradient(135deg,#5ee0ac,#087f5b); }
.gs-avatar.off { background:linear-gradient(135deg,#9aa7a3,#5d6f6a); }
.gs-name { font-weight:600; }
.gs-dash { color:#b4c2bd; }
.gs-x { color:var(--muted); }
.gs-warn { color:#d98b00; }
.gs-nav { margin-left:auto; display:inline-flex; align-items:center; gap:8px; }
.gs-pos { min-width:76px; color:var(--muted); font-size:12px; text-align:center; }
.gs-presence { display:grid; grid-template-columns:minmax(0,1fr) minmax(110px,220px) minmax(0,1fr); align-items:center; padding:18px 24px; background:#f1f8f4; border-bottom:1px solid var(--line); }
.gs-pcard { position:relative; display:flex; align-items:center; gap:14px; padding:14px 16px; background:#fff; border:1.5px solid var(--line); border-radius:12px; box-shadow:var(--shadow-sm); min-width:0; }
.gs-pcard.entra.ok { border-color:#8fb7ee; }
.gs-pcard.saviynt.ok { border-color:#f0c27a; }
.gs-pcard.miss { border-style:dashed; background:#fafcfb; }
.gs-pic { flex:none; width:44px; height:44px; border-radius:12px; display:grid; place-items:center; font:700 19px var(--font-display); color:#fff; }
.gs-pcard.entra .gs-pic { background:linear-gradient(135deg,#4f8fe6,#2f6fd0); }
.gs-pcard.saviynt .gs-pic { background:linear-gradient(135deg,#f4b04c,#e08a1e); }
.gs-pcard.miss .gs-pic { background:#c9d3cf; }
.gs-pbody { display:grid; gap:1px; min-width:0; }
.gs-pbody strong { font:700 14px var(--font-display); }
.gs-pbody span { font-size:12.5px; }
.gs-pbody small { color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
.gs-pcard.miss .gs-pbody span { color:var(--muted); }
.gs-check { flex:none; margin-left:auto; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-size:13px; font-weight:700; }
.gs-pcard.ok .gs-check { background:#e0f6ea; color:#13734f; }
.gs-pcard.miss .gs-check { background:#edf1f0; color:#8a9a95; }
.gs-conn { position:relative; display:flex; align-items:center; justify-content:center; align-self:stretch; padding:0 6px; min-height:56px; }
.gs-conn:before { content:""; position:absolute; left:0; right:0; top:50%; border-top:3px solid #087f5b; }
.gs-conn.off:before { border-top:3px dashed #c3d0cb; }
.gs-conn-line { display:none; }
.gs-conn-text { position:relative; display:flex; flex-wrap:wrap; gap:4px; justify-content:center; max-width:100%; padding:4px 6px; background:#f1f8f4; text-align:center; }
.gs-linked { width:100%; color:var(--muted); font-size:9.5px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; }
.gs-evidence { padding:2px 8px; background:#e0f6ea; color:#13734f; border-radius:12px; font-size:10.5px; font-weight:600; }
.gs-compare-card { margin:14px 19px 18px; }
.gs-compare { width:100%; min-width:0; table-layout:fixed; }
.gs-compare th:nth-child(1) { width:210px; }
.gs-compare th:nth-child(4) { width:50px; }
.gs-compare td { white-space:normal; overflow-wrap:anywhere; }
.gs-compare tbody tr { cursor:default; }
.gs-compare tr.is-differs td { background:#fff8e8; }
.gs-compare tr.is-missing td { background:#fafcfb; }
.gs-attr { color:var(--muted); font-weight:600; }
.gs-dot { display:inline-block; width:9px; height:9px; margin-right:6px; border-radius:50%; }
.gs-dot.entra { background:#2f6fd0; }
.gs-dot.saviynt { background:#e08a1e; }
.gs-res { text-align:center; }
.gs-mark { font-size:16px; font-weight:700; }
.gs-mark.same { color:#13734f; }
.gs-mark.differs { color:#b9770e; }
.gs-mark.missing, .gs-mark.empty { color:#9aa7a3; }
.gs-callout { margin:14px 19px 0; padding:11px 14px; border:1px solid; border-radius:9px; font-size:12.5px; }
.gs-callout.warn { background:#fff6e6; border-color:#f0c975; color:#8a5b00; }
.gs-callout.info { background:#eef5fd; border-color:#bcd6f4; color:#1c4f87; }
.gs-emptypane { padding:54px 20px; text-align:center; color:var(--muted); }
.gs-emptypane h3 { margin-bottom:4px; color:var(--ink); font:700 15px var(--font-display); }
.gs-big { display:grid; place-items:center; width:72px; height:72px; margin:0 auto 14px; border-radius:20px; background:#edf1f0; color:#9aa7a3; font:700 30px var(--font-display); }
.gs-loading { display:flex; align-items:center; justify-content:center; gap:12px; padding:48px; color:var(--muted); }
.gs-loading i { width:18px; height:18px; border:3px solid #d5e4dc; border-top-color:var(--green); border-radius:50%; animation:gs-spin .8s linear infinite; }
@keyframes gs-spin { to { transform:rotate(360deg); } }
.gs-records { display:flex; flex-wrap:wrap; gap:8px; padding:14px 19px 0; }
@media (max-width:1100px) { .gs-sources, .gs-overview, .gs-results-top, .gs-list-grid { grid-template-columns:minmax(0,1fr); } .gs-presence { grid-template-columns:minmax(0,1fr); gap:10px; } .gs-conn { padding:4px 0; } .gs-list-or { display:none; } }
#gs-main > .panel-head > div:first-child { flex:1 1 520px; min-width:0; }
.vd-row-hint { color:var(--muted); font-size:11px; }
@media (max-width:1180px) { .vd-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); } .vd-insights { grid-template-columns:repeat(2,minmax(0,1fr)); } .vd-intro { grid-template-columns:1fr; } }
@media (max-width:640px) { .vd-steps, .vd-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .vd-insights { grid-template-columns:1fr; } }
/* ---- Account verification: user detail preview ---- */
.drawer.user-preview .drawer-panel { width:min(1060px,100%); background:var(--paper); }
.up-head { position:sticky; top:0; z-index:2; background:#10352d; color:#fff; padding:18px 24px 15px; box-shadow:0 2px 8px rgba(4,26,20,.25); }
.up-head-top { display:flex; align-items:flex-start; gap:16px; }
.up-avatar { flex:none; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; font:700 21px var(--font-display); background:linear-gradient(135deg,#5ee0ac,#087f5b); color:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.15); text-transform:uppercase; }
.up-avatar.off { background:linear-gradient(135deg,#9aa7a3,#5d6f6a); }
.up-title { flex:1; min-width:0; }
.up-title h2 { font:700 21px/1.2 var(--font-display); margin:0; overflow-wrap:anywhere; letter-spacing:-.3px; }
.up-sub { color:#bfe0d2; font-size:12.5px; margin-top:4px; }
.up-upn { color:#a4c8ba; font-size:11.5px; margin-top:3px; font-family:Consolas,"Cascadia Mono",monospace; overflow-wrap:anywhere; }
.up-badges { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.up-nav { display:flex; align-items:center; gap:6px; flex:none; }
.up-nav button { border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.08); color:#fff; border-radius:6px; height:32px; min-width:32px; padding:0 10px; font-size:12px; font-weight:600; }
.up-nav button:hover:not(:disabled) { background:rgba(255,255,255,.18); }
.up-nav button:disabled { opacity:.35; cursor:default; }
.up-nav .up-close { font-size:20px; line-height:1; padding:0 9px; }
.up-pos { color:#a4c8ba; font-size:11px; padding:0 3px; white-space:nowrap; }
.up-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }
.up-actions button, .up-actions a { border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.08); color:#fff; border-radius:6px; padding:6px 11px; font-size:11.5px; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.up-actions button:hover, .up-actions a:hover { background:rgba(255,255,255,.18); }
.up-facts { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1px; background:var(--line); border-bottom:1px solid var(--line); }
.up-fact { background:var(--card); padding:11px 16px; min-width:0; }
.up-fact span { display:block; color:var(--muted); font-size:9.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; }
.up-fact strong { display:block; font-size:12.5px; font-weight:600; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.up-body { padding:18px 24px 32px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }
.up-card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); overflow:hidden; min-width:0; }
.up-card.wide { grid-column:1 / -1; }
.up-col { display:grid; gap:14px; align-content:start; min-width:0; }
.up-card h3 { display:flex; align-items:center; gap:8px; margin:0; padding:11px 15px; font:700 13px var(--font-display); border-bottom:1px solid var(--line); background:#fbfdfc; }
.up-card h3 .up-ic { font-size:14px; }
.up-card h3 .up-count { margin-left:auto; color:var(--muted); font:600 10.5px var(--font-body); }
.up-card h3 .up-toggle { margin-left:auto; border:1px solid var(--line); background:#fff; color:var(--muted); border-radius:6px; padding:3px 8px; font:600 10.5px var(--font-body); }
.up-card h3 .up-count + .up-toggle { margin-left:8px; }
.up-fields { margin:0; padding:4px 15px 8px; }
.up-field { display:grid; grid-template-columns:minmax(110px,38%) minmax(0,1fr); gap:10px; padding:7px 0; border-bottom:1px dashed #e6eeea; font-size:12px; }
.up-field:last-child { border-bottom:0; }
.up-field dt { color:var(--muted); font-size:11px; padding-top:1px; }
.up-field dd { margin:0; overflow-wrap:anywhere; min-width:0; }
[data-copy] { cursor:copy; }
.up-field dd[data-copy]:hover, .up-tile[data-copy]:hover strong, .up-list li[data-copy]:hover { color:var(--green-dark); }
.up-mono { font-family:Consolas,"Cascadia Mono",monospace; font-size:11.5px; }
.up-empty { color:#a9b6b2; }
.up-field.mismatch { background:#fff8ec; border-radius:5px; padding-left:8px; padding-right:8px; }
.up-field.mismatch dd small, .up-field dd small { display:block; color:var(--muted); font-size:10.5px; margin-top:2px; }
.up-field.mismatch dd small { color:#9b620d; }
.up-grid-fields .up-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:26px; }
.up-grid-fields .up-field:nth-last-child(2):nth-child(odd) { border-bottom:0; }
.up-grid3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:12px 15px; }
.up-tile { border:1px solid var(--line); border-radius:7px; padding:7px 10px; background:#fbfdfc; min-width:0; }
.up-tile span { display:block; color:var(--muted); font-size:10px; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.up-tile strong { display:block; font-size:12px; font-weight:600; margin-top:2px; overflow-wrap:anywhere; }
.up-tile.is-empty { background:#fff; }
.up-tile.is-empty strong { color:#a9b6b2; font-weight:400; }
.up-hide-empty .up-tile.is-empty { display:none; }
.up-sub-h { padding:11px 15px 0; font-size:10px; font-weight:700; color:var(--muted); letter-spacing:.6px; text-transform:uppercase; }
.up-chips { display:flex; flex-wrap:wrap; gap:6px; padding:10px 15px 4px; }
.up-chip { border-radius:20px; padding:4px 10px; font-size:11px; font-weight:600; background:#e0f6ea; color:#13734f; }
.up-chip.gray { background:#edf1f0; color:#60716d; }
.up-chip.blue { background:#e3f0fd; color:#1c5a96; }
.up-list { list-style:none; margin:0; padding:4px 15px 8px; }
.up-list li { padding:7px 0; border-bottom:1px dashed #e6eeea; font-size:12px; overflow-wrap:anywhere; }
.up-list li:last-child { border-bottom:0; }
.up-list li.primary { font-weight:700; }
.up-list li small { color:var(--muted); font-weight:400; margin-left:6px; }
.up-person { display:flex; gap:12px; align-items:center; padding:13px 15px 4px; }
.up-person .up-avatar { width:42px; height:42px; font-size:15px; box-shadow:none; }
.up-person strong { display:block; font-size:13px; }
.up-person span { display:block; color:var(--muted); font-size:11.5px; overflow-wrap:anywhere; }
.up-message { padding:16px 15px; font-size:12.5px; line-height:1.55; }
.up-message strong { display:block; font:700 14px var(--font-display); margin-bottom:4px; }
.up-raw summary { padding:11px 15px; font:700 13px var(--font-display); cursor:pointer; background:#fbfdfc; }
.up-raw pre { margin:0; padding:12px 15px; max-height:380px; overflow:auto; font-size:11px; line-height:1.5; background:#0f1f1b; color:#d5efe4; }
.up-candidates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:12px 15px 15px; }
.up-candidate { text-align:left; border:1px solid var(--line); background:#fbfdfc; border-radius:8px; padding:11px 13px; font:inherit; color:inherit; cursor:pointer; display:grid; gap:3px; min-width:0; }
.up-candidate:hover { border-color:#95c7b3; background:#f2f9f5; }
.up-candidate strong { font-size:13px; }
.up-candidate span { color:var(--muted); font-size:11.5px; overflow-wrap:anywhere; }
.up-back { margin:0 0 -4px; grid-column:1 / -1; justify-self:start; border:1px solid var(--line); background:var(--card); color:var(--green-dark); border-radius:6px; padding:6px 11px; font-size:11.5px; font-weight:700; }
@media (max-width:860px) { .up-body { grid-template-columns:1fr; padding:14px; } .up-facts { grid-template-columns:repeat(2,minmax(0,1fr)); } .up-grid3, .up-candidates { grid-template-columns:repeat(2,minmax(0,1fr)); } .up-grid-fields .up-fields { grid-template-columns:1fr; } .up-head { padding:16px; } .up-head-top { flex-wrap:wrap; } }
@media (max-width:900px) { .shell { grid-template-columns:1fr; } .sidebar { display:none; } .main { padding:20px 14px 35px; } .kpis { grid-template-columns:repeat(2,1fr); } .source-grid { grid-template-columns:1fr; } .topbar { flex-direction:column; } }
@media (max-width:460px) { .kpis { grid-template-columns:1fr 1fr; gap:8px; } .kpi { padding:13px; } .kpi strong { font-size:21px; } }
