:root{color-scheme:light;--bg:#fafafa;--paper:#ffffff;--sidebar:#fbfcfd;--sidebar-ink:#232a33;--sidebar-muted:#697586;--sidebar-active:#e8eefb;--ink:#191a21;--muted:#667085;--line:rgba(25,26,33,0.12);--accent:#2a5bbf;--accent-dark:#1e4ca1;--accent-soft:#e8eefb;--danger:#c0392b;--danger-soft:#fdf1ef;--soft:#f8fafc;--soft-2:#eef1f4;--ok:#1e8a4c;--warn:#b7791f;--font-inter:Inter;--font-jetbrains-mono:"JetBrains Mono";--mono:var(--font-jetbrains-mono),ui-monospace,"JetBrains Mono",Menlo,monospace}*{box-sizing:border-box}nextjs-portal{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-inter),Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h1,h2,h3{font-family:var(--mono);letter-spacing:0}button,input,select{font:inherit}code{color:var(--accent-dark);font-family:var(--mono);font-size:12px;overflow-wrap:anywhere}.app-shell{grid-template-columns:clamp(250px,16vw,304px) minmax(0,1fr)}.app-shell,.side-nav{display:grid;min-height:100vh}.side-nav{background:var(--sidebar);border-right:1px solid var(--line);grid-template-rows:auto 1fr auto;grid-gap:16px;gap:16px;padding:16px 12px;position:-webkit-sticky;position:sticky;top:0}.brand-lockup{align-items:center;display:flex;gap:10px;padding:4px 8px 12px}.brand-mark{align-items:center;background:var(--accent);border-radius:8px;color:#fff;display:grid;font-family:var(--mono);font-size:13px;height:36px;justify-content:center;width:36px}.brand-lockup strong{display:block;font-family:var(--mono);font-size:15px}.brand-by,.muted,.sidebar-foot{color:var(--muted)}.brand-by{font-size:12px;text-decoration:none}.side-nav nav{align-content:start;display:grid;grid-gap:4px;gap:4px}.nav-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:8px;color:var(--sidebar-ink);cursor:pointer;display:grid;font-size:14px;font-weight:750;grid-gap:9px;gap:9px;grid-template-columns:20px minmax(0,1fr);height:40px;justify-items:start;padding:8px 10px;text-align:left;width:100%}.nav-button.active,.nav-button:hover{background:var(--sidebar-active)}.sidebar-foot{border-top:1px solid var(--line);font-size:12px;overflow-wrap:anywhere;padding:12px 8px 4px}.workspace{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0}.topbar{align-items:center;background:rgba(250,250,250,.94);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;min-height:76px;padding:14px 22px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.topbar h1,.topbar p{margin:0}.eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.topbar h1{font-size:24px;margin-top:3px}.topbar-actions{align-items:center;display:flex;gap:10px}.signed-in{display:grid;font-size:12px;line-height:1.25;text-align:right}.signed-in span{color:var(--muted)}.signed-in strong{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ghost-button,.icon-button,.primary-button{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;gap:8px;justify-content:center;min-height:36px;text-decoration:none}.icon-button{background:var(--paper);border:1px solid var(--line);color:var(--ink);width:38px}.primary-button{background:var(--accent);border:1px solid var(--accent);color:#fff;font-weight:800;padding:0 14px}.primary-button:hover{background:var(--accent-dark)}.ghost-button:disabled,.icon-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.55}.primary-button.compact{min-height:34px;padding:0 11px}.ghost-button{background:transparent;border:1px solid var(--line);color:var(--ink);font-size:12px;min-height:30px;padding:0 9px}.split-view{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr) minmax(340px,420px);padding:18px}.auth-card,.detail-panel,.health-tile,.table-surface{background:var(--paper);border:1px solid var(--line);border-radius:8px}.table-surface{min-width:0;overflow:hidden}.toolbar{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;min-height:54px;padding:10px 14px}.toolbar h2{font-size:15px;margin:0}.toolbar span{color:var(--muted);font-size:12px}.filters{justify-content:flex-start;gap:8px}.search-box{align-items:center;background:var(--soft);border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;min-width:min(320px,100%);padding:0 10px}.search-box input{background:transparent;border:0;height:36px;min-width:0;outline:0;width:100%}select{background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink);height:36px;min-width:150px;padding:0 10px}table{border-collapse:collapse;font-size:13px;width:100%}th{background:var(--soft);color:var(--muted);font-size:11px;letter-spacing:.04em;text-align:left;text-transform:uppercase}td,th{padding:10px 12px}td{border-top:1px solid var(--line);vertical-align:middle}tr{cursor:default}tbody tr.selected,tbody tr:hover{background:var(--accent-soft)}td strong{display:block;font-weight:800}td span{color:var(--muted);display:block;font-size:12px;margin-top:2px}.detail-panel{align-content:start;display:grid;grid-gap:12px;gap:12px;padding:16px}.detail-panel h2,.detail-panel p{margin:0}.profile-grid{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:0;gap:0;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.profile-grid div{border-bottom:1px solid var(--line);display:grid;grid-gap:4px;gap:4px;min-width:0;padding:9px}.profile-grid div:nth-last-child(-n+2){border-bottom:0}.profile-grid div:nth-child(odd){border-right:1px solid var(--line)}.profile-grid span{color:var(--muted);font-size:11px;text-transform:uppercase}.profile-grid strong{font-size:12px;overflow-wrap:anywhere}.mini-row,.mini-table{display:grid;grid-gap:8px;gap:8px}.mini-row{align-items:center;border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto auto;padding:9px}.mini-row.compact-row{grid-template-columns:minmax(0,1fr) auto}.mini-row span,.mini-row strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-row span{color:var(--muted);font-size:12px}.badge-row{display:flex;flex-wrap:wrap;gap:5px}.badge{align-items:center;background:var(--soft-2);border:1px solid transparent;border-radius:999px;color:var(--muted);display:inline-flex;font-size:11px;font-weight:800;line-height:1;min-height:22px;padding:0 8px;white-space:nowrap}.badge.ok,.match-subject{background:#edf8f1;color:var(--ok)}.badge.warn,.match-email{background:#fff7e8;color:var(--warn)}.match-missing_entra{background:var(--danger-soft);color:var(--danger)}.metric-line{align-items:center;color:var(--muted);display:flex;gap:8px;font-size:13px}.health-grid{display:grid;grid-gap:12px;gap:12px;padding:18px}.mismatch-list{border-top:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;padding:14px}.mismatch-list h2{font-size:15px;margin:0}.mismatch-row{align-items:center;color:var(--danger);display:grid;grid-gap:8px;gap:8px;grid-template-columns:18px minmax(0,1fr) minmax(0,1fr);font-size:13px}.health-grid{align-content:start;grid-template-columns:repeat(2,minmax(0,1fr))}.health-tile{display:grid;grid-gap:10px;gap:10px;padding:16px}.health-tile h2{font-size:16px;margin:0}.health-tile p{color:var(--muted);margin:0;overflow-wrap:anywhere}.alert,.health-note,.loading{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;margin:18px;padding:12px 14px}.alert{background:var(--danger-soft);color:var(--danger)}.empty-state,.loading{color:var(--muted)}.empty-state{border:1px dashed var(--line);border-radius:8px;font-size:13px;padding:14px}.empty-state.spaced{margin:14px}.taxonomy-surface{margin:18px}.inline-alert{margin:12px 14px}.resource-strip{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px}.resource-strip span{align-items:center;background:var(--soft);border:1px solid var(--line);border-radius:8px;display:inline-flex;gap:8px;min-height:30px;padding:0 9px}.resource-strip strong{font-size:12px}.inactive-list{border-top:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;padding-top:12px}.inactive-list h3{color:var(--muted);font-size:12px;margin:0;text-transform:uppercase}.modal-backdrop{align-items:center;background:rgba(25,26,33,.34);display:grid;inset:0;justify-items:center;padding:18px;position:fixed;z-index:10}.modal-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 80px rgba(25,26,33,.22);display:grid;grid-gap:14px;gap:14px;max-height:min(760px,calc(100vh - 36px));max-width:680px;overflow:hidden;padding:16px;width:min(680px,100%)}.modal-actions,.modal-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.modal-head h2{font-size:18px;margin:0}.dialog-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(180px,220px) minmax(0,1fr)}.dialog-grid label{color:var(--muted);display:grid;font-size:12px;font-weight:800;grid-gap:6px;gap:6px}.dialog-grid select,.dialog-search{width:100%}.user-pick-list{border:1px solid var(--line);border-radius:8px;display:grid;max-height:360px;overflow:auto}.user-pick{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--paper);border:0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) minmax(180px,240px);min-height:56px;padding:9px 11px;text-align:left}.user-pick:last-child{border-bottom:0}.user-pick.selected,.user-pick:hover{background:var(--accent-soft)}.user-pick small,.user-pick strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-pick small{color:var(--muted);font-size:12px}.auth-screen{align-items:center;display:grid;min-height:100vh;padding:18px}.auth-card{display:grid;grid-gap:14px;gap:14px;margin:0 auto;max-width:420px;padding:24px;width:100%}.auth-card h1,.auth-card p{margin:0}.auth-card h1{font-size:26px}.auth-copy{color:var(--muted);line-height:1.5}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1080px){.app-shell,.split-view{grid-template-columns:1fr}.side-nav{min-height:auto;position:static}.side-nav nav{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-panel{margin:0 18px 18px}}@media (max-width:720px){.filters,.topbar,.topbar-actions{align-items:stretch;flex-direction:column}.topbar{display:grid;grid-gap:12px;gap:12px}.filters,.topbar-actions{display:flex}.signed-in{text-align:left}.dialog-grid,.health-grid,.mini-row,.user-pick{grid-template-columns:1fr}.table-surface{overflow-x:auto}}