:root{--bg-app: #070d1a;--bg-surface: rgba(15, 23, 42, .72);--bg-elevated: rgba(20, 30, 56, .8);--bg-subtle: rgba(255, 255, 255, .04);--bg-glass: rgba(15, 23, 42, .55);--border-soft: rgba(255, 255, 255, .08);--border-accent: rgba(59, 130, 246, .25);--text-main: #f1f5f9;--text-muted: #94a3b8;--risk-low-bg: rgba(34, 197, 94, .12);--risk-low-text: #4ade80;--risk-medium-bg: rgba(59, 130, 246, .14);--risk-medium-text: #60a5fa;--risk-high-bg: rgba(251, 191, 36, .12);--risk-high-text: #fbbf24;--risk-critical-bg: rgba(239, 68, 68, .14);--risk-critical-text: #f87171;--blue: #3b82f6;--green: #22c55e;--amber: #f59e0b;--red: #ef4444;--gray: #64748b;--indigo: #6366f1;--glow-blue: 0 0 32px rgba(59, 130, 246, .22), 0 4px 16px rgba(59, 130, 246, .12);--glow-green: 0 0 24px rgba(34, 197, 94, .18);--glow-red: 0 0 24px rgba(239, 68, 68, .18);--bg: var(--bg-app);--panel: var(--bg-glass);--text: var(--text-main);--muted: var(--text-muted);--border: var(--border-soft);--shadow: 0 10px 40px rgba(0, 0, 0, .55);--shadow-soft: 0 2px 8px rgba(0, 0, 0, .35);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.4;color:var(--text);background:var(--bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:320px;background:var(--bg-app);background-image:linear-gradient(rgba(59,130,246,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.03) 1px,transparent 1px);background-size:48px 48px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font-family:inherit;color:var(--text-main)}input,select,textarea{color:var(--text-main);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 10px;outline:none;transition:border-color .12s ease,box-shadow .12s ease}select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2394a3b8' d='M6 8 0 0h12z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 10px center!important;padding-right:30px!important}input:focus,select:focus,textarea:focus{border-color:#3b82f666;box-shadow:0 0 0 3px #3b82f61f}input::placeholder,textarea::placeholder{color:#94a3b873}input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(.6);cursor:pointer}select option{background:#0d1526;color:#f1f5f9}#root{height:100%}.appShell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-w, 220px) 1fr;background:transparent}.sidebar{background:#080e1ee0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid rgba(59,130,246,.1);position:sticky;top:0;height:100vh;overflow:auto;padding:18px 14px;scrollbar-width:thin;scrollbar-color:rgba(59,130,246,.22) transparent}.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#3b82f633;border-radius:999px}.sidebar::-webkit-scrollbar-thumb:hover{background:#3b82f659}.sidebarHeader{position:sticky;top:0;z-index:3;margin:-18px -14px 12px;padding:14px 14px 12px;background:#070d1aeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(59,130,246,.1)}.sidebarHeaderRow{display:flex;align-items:center;justify-content:space-between;gap:10px}.tenantBlock{display:flex;align-items:center;gap:10px;min-width:0}.tenantLogoImg{width:40px;height:40px;border-radius:14px;object-fit:cover;border:1px solid rgba(15,23,42,.08);background:#fff;box-shadow:0 10px 22px #0f172a1a}.tenantLogoFallback{width:40px;height:40px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-weight:950;font-size:12px;letter-spacing:.12em;color:#fffffff5;background:linear-gradient(135deg,#2563eb,#6366f1 52%,#2563eb);border:1px solid rgba(37,99,235,.28);box-shadow:0 14px 34px #2563eb2e}.tenantText{min-width:0}.tenantName{font-weight:950;font-size:14px;letter-spacing:-.01em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2}.tenantSub{margin-top:1px;font-size:12px;color:var(--muted);font-weight:750}.sidebarTitle{font-weight:800;font-size:16px;letter-spacing:.2px;margin:8px 8px 14px}.sidebarActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin:8px 8px 14px}.miniBtn{border:1px solid rgba(255,255,255,.1);background:#ffffff0f;padding:6px 8px;border-radius:10px;cursor:pointer;font-size:12px;color:var(--text);font-weight:800;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease}.miniBtn:hover{background:#3b82f624;border-color:#3b82f64d;transform:translateY(-1px);box-shadow:0 6px 20px #0000004d}.navGroupLabel{margin:14px 8px 8px;color:#94a3b88c;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.navGroupBtn{width:100%;text-align:left;display:flex;align-items:center;gap:8px;padding:14px 8px 8px;margin:0;border:none;background:transparent;cursor:pointer;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.navGroupBtn[data-group]{color:color-mix(in srgb,var(--nav-accent) 62%,var(--muted) 38%)}.navGroupBtn[data-group=executive],.navBtn[data-group=executive]{--nav-accent: rgba(37, 99, 235, .95);--nav-accent-bg: rgba(37, 99, 235, .1);--nav-accent-brd: rgba(37, 99, 235, .18)}.navGroupBtn[data-group=identity],.navBtn[data-group=identity]{--nav-accent: rgba(20, 184, 166, .95);--nav-accent-bg: rgba(20, 184, 166, .1);--nav-accent-brd: rgba(20, 184, 166, .18)}.navGroupBtn[data-group=exposure],.navBtn[data-group=exposure]{--nav-accent: rgba(124, 58, 237, .95);--nav-accent-bg: rgba(124, 58, 237, .1);--nav-accent-brd: rgba(124, 58, 237, .18)}.navGroupBtn[data-group=privileged],.navBtn[data-group=privileged]{--nav-accent: rgba(245, 158, 11, .95);--nav-accent-bg: rgba(245, 158, 11, .12);--nav-accent-brd: rgba(245, 158, 11, .18)}.navGroupBtn[data-group=planning],.navBtn[data-group=planning]{--nav-accent: rgba(14, 165, 233, .95);--nav-accent-bg: rgba(14, 165, 233, .1);--nav-accent-brd: rgba(14, 165, 233, .18)}.navGroupBtn[data-group=governance],.navBtn[data-group=governance]{--nav-accent: rgba(99, 102, 241, .95);--nav-accent-bg: rgba(99, 102, 241, .1);--nav-accent-brd: rgba(99, 102, 241, .18)}.navGroupBtn[data-group=run],.navBtn[data-group=run]{--nav-accent: rgba(34, 197, 94, .95);--nav-accent-bg: rgba(34, 197, 94, .1);--nav-accent-brd: rgba(34, 197, 94, .18)}.navGroupBtn:hover{color:color-mix(in srgb,var(--nav-accent) 70%,var(--text) 30%)}.navGroupChevron{display:inline-block;transform-origin:50% 55%;transition:transform .12s ease;opacity:.8}.navGroupIcon{width:24px;height:24px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--nav-accent, var(--muted));background:var(--nav-accent-bg, rgba(15, 23, 42, .05));border:1px solid var(--nav-accent-brd, rgba(15, 23, 42, .06))}.navGroupIcon svg{display:block}.navGroupBtn[data-open=false] .navGroupChevron{transform:rotate(-90deg)}.navGroupItems{margin-bottom:4px}.navBtn{width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:9px 10px;border-radius:12px;cursor:pointer;color:#cbd5e1cc;display:flex;gap:10px;align-items:center;font-size:13px;font-weight:650;transition:background .14s ease,border-color .14s ease,transform .14s ease}.navIcon{width:26px;height:26px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:11px;font-weight:900;letter-spacing:.02em;color:#94a3b8b3;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.navBtn[data-group] .navIcon{color:var(--nav-accent, rgba(15, 23, 42, .72));background:var(--nav-accent-bg, rgba(15, 23, 42, .04));border-color:var(--nav-accent-brd, rgba(15, 23, 42, .06))}.navIcon svg{display:block}.navText{min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navBtn:hover{background:#3b82f614;border-color:#3b82f629;color:#f1f5f9;transform:translateY(-1px)}.navBtn:active{transform:translateY(0);background:#3b82f62e}.navBtnActive{background:#3b82f624;border-color:#3b82f647;color:#93c5fd;font-weight:800}.navBtnActive .navIcon{background:#3b82f633;border-color:#3b82f652;color:#93c5fd}.navBtnActive[data-group] .navIcon{background:color-mix(in srgb,var(--nav-accent-bg) 100%,white 0%);border-color:color-mix(in srgb,var(--nav-accent-brd) 100%,white 0%);color:var(--nav-accent)}.main{display:flex;flex-direction:column;min-width:0}.header{background:#070d1adb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(59,130,246,.1);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;position:sticky;top:0;z-index:200;isolation:isolate}.headerLeft{display:flex;align-items:center;gap:12px}.brand{font-weight:900;font-size:20px;letter-spacing:-.01em}.tenantSelect{border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:var(--text-main);padding:8px 10px;border-radius:10px}.statusPills{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px}.dataSourcesPill{cursor:pointer;-webkit-user-select:none;user-select:none}.dataSourcesMenu[open] .dataSourcesPill{background:#3b82f614;border-color:#3b82f638;box-shadow:0 12px 28px #0000004d}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#ffffff0d}.dot{width:8px;height:8px;border-radius:999px;background:var(--gray);box-shadow:0 0 #2563eb00}.dotOk{background:var(--green)}.dotWarn{background:var(--amber)}@keyframes dotPulse{0%{box-shadow:0 0 #2563eb00}60%{box-shadow:0 0 0 6px #2563eb1a}to{box-shadow:0 0 0 10px #2563eb00}}.dotOk,.dotWarn{animation:dotPulse 2.2s ease-out infinite}.headerRight{display:flex;gap:10px;align-items:center}.menu{position:relative}.menuBtn{display:inline-flex;align-items:center;gap:8px;font-weight:850;border-radius:999px;padding:10px 14px;-webkit-user-select:none;user-select:none;cursor:pointer}.menuBtnIconOnly{padding:10px 12px;gap:6px}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.menuBtn:hover{background:#3b82f614;border-color:#3b82f633}.menuBtn:focus-visible{outline:3px solid rgba(59,130,246,.28);outline-offset:2px}.menu[open] .menuBtn{background:#3b82f61a;border-color:#3b82f63d;box-shadow:0 12px 28px #0000004d}.menu>summary{list-style:none}.menu>summary::marker,.menu>summary::-webkit-details-marker{display:none}.menuPanel{position:absolute;right:0;top:calc(100% + 8px);min-width:260px;padding:10px;border-radius:16px;border:1px solid rgba(59,130,246,.14);background:#0a1226f0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 24px 60px #0000008c,0 0 0 1px #3b82f614;z-index:1200;transform-origin:top right}.menuPanelLeft{left:0;right:auto;transform-origin:top left}.menuPanelLeft:before{left:20px;right:auto}.menu[open] .menuPanel{animation:menuIn .13s ease-out}@keyframes menuIn{0%{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.menu[open] .menuPanel{animation:none}}.menuPanel:before{content:"";position:absolute;right:20px;top:-7px;width:14px;height:14px;background:#0c142af0;border-left:1px solid rgba(59,130,246,.14);border-top:1px solid rgba(59,130,246,.14);transform:rotate(45deg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.menuHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px 8px;color:color-mix(in srgb,var(--muted) 78%,var(--text) 22%);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.menuSub{color:var(--muted);font-size:12px;font-weight:750;letter-spacing:0;text-transform:none}.menuItem{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;color:var(--text);text-decoration:none;font-weight:800;border:1px solid transparent;background:#ffffff08;transition:transform .12s ease,background .12s ease,border-color .12s ease}.menuItem:hover{background:#3b82f61a;border-color:#3b82f633;transform:translateY(-1px)}.menuItem:active{transform:translateY(0)}.menuItemDisabled{opacity:.45;cursor:not-allowed}.menuMeta{margin-top:8px;padding:8px 10px 2px;color:var(--muted);font-size:12px;font-weight:750;border-top:1px solid rgba(255,255,255,.06)}.btn{border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:var(--text-main);padding:10px 12px;border-radius:10px;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.btnGhost{background:#ffffff0a;border-color:#ffffff1a;color:var(--text-muted)}.btnGhost:hover:not(:disabled){background:#3b82f61a;border-color:#3b82f63d;color:#93c5fd;box-shadow:0 10px 24px #00000040}.btnGhost:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}.btnPrimary{background:var(--blue);color:#fff;border-color:#2563eb99;font-weight:800;box-shadow:0 10px 26px #2563eb24;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.btnScan{border-radius:999px;padding:10px 16px;display:inline-flex;align-items:center;gap:10px;letter-spacing:-.01em;background:linear-gradient(135deg,#2563eb,#3b82f6 55%,#2563eb);border-color:#2563eb8c;box-shadow:0 14px 34px #2563eb2e,0 2px #ffffff2e inset;position:relative;overflow:hidden}.btnScan:before{content:"";position:absolute;inset:-40% -30% auto;height:160%;background:radial-gradient(closest-side,#ffffff38,#fff0 65%);transform:translate(-40%) rotate(12deg);opacity:0;transition:opacity .16s ease,transform .3s ease}.btnScan:hover:not(:disabled):before{opacity:1;transform:translate(10%) rotate(12deg)}.btnScan:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}.btnScan:disabled{filter:saturate(.9)}.spinnerSm{width:14px;height:14px;border-radius:999px;border:2px solid rgba(255,255,255,.38);border-top-color:#fffffff2;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.btnPrimary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 34px #2563eb2e;filter:saturate(1.02)}.btn:disabled,.btnPrimary:disabled{opacity:.6;cursor:not-allowed}.content{padding:18px 20px;font-size:15px;position:relative;z-index:0}.grid{display:grid;grid-template-columns:1.35fr .95fr;gap:14px}@media(max-width:1100px){.appShell{grid-template-columns:1fr}.sidebar{display:none}.grid{grid-template-columns:1fr}}@media(max-width:640px){.header{padding:10px 12px;gap:8px}.brand{font-size:15px}.content{padding:12px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.headerRight{gap:6px}}.card{background:#0f172a8c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 4px 24px #00000059,0 1px #ffffff0d inset;padding:20px;min-width:0;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.card:hover{transform:translateY(-2px);box-shadow:0 12px 32px #00000073,0 0 0 1px #3b82f61f;border-color:#3b82f62e}.card a{overflow-wrap:anywhere;word-break:break-word;max-width:100%}.cardTitle{font-weight:950;letter-spacing:-.01em;font-size:18px;margin-bottom:10px}.cardCompact{padding:14px;border-radius:14px}.cardCompact .cardTitle{font-size:15px;margin-bottom:8px}.cardCompact .btn,.cardCompact .btnPrimary{padding:8px 10px}.card p{margin:8px 0}.card details{margin-top:10px}.card details>summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:#94a3b8b3;font-weight:900;font-size:12px;letter-spacing:.02em;display:flex;align-items:center;gap:8px}.card details>summary:hover{color:var(--text)}.card details>summary::marker,.card details>summary::-webkit-details-marker{display:none}.card details[open]>summary{color:var(--text)}.riskHero{border-radius:16px;padding:24px;color:var(--risk-high-text);background:var(--risk-high-bg);border:1px solid rgba(251,191,36,.2)}.riskHeroLow{background:#22c55e1a;color:var(--risk-low-text);border:1px solid rgba(34,197,94,.2);box-shadow:0 0 32px #22c55e14}.riskHeroMedium{background:#3b82f61a;color:var(--risk-medium-text);border:1px solid rgba(59,130,246,.22);box-shadow:0 0 32px #3b82f614}.riskHeroHigh{background:#fbbf241a;color:var(--risk-high-text);border:1px solid rgba(251,191,36,.22);box-shadow:0 0 32px #fbbf2414}.riskHeroCritical{background:#ef44441a;color:var(--risk-critical-text);border:1px solid rgba(239,68,68,.22);box-shadow:0 0 32px #ef44441a}.riskHeroBig{font-size:56px;font-weight:1000;line-height:1.05;letter-spacing:-.02em}.kpis{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi{background:#0f172a8c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:14px;box-shadow:0 4px 16px #00000047}.kpiLabel{color:#94a3b8bf;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.kpiValue{font-size:28px;font-weight:900;margin-top:6px;color:#f1f5f9}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{border-top:1px solid rgba(255,255,255,.05);padding:10px 8px;vertical-align:top}.table tbody tr:hover{background:#3b82f60d}.table th{text-align:left;color:#94a3b8a6;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid rgba(255,255,255,.1);border-top:none}.sev{display:inline-flex;padding:3px 10px;border-radius:999px;font-weight:900;font-size:11px;letter-spacing:.04em;border:1px solid rgba(255,255,255,.1)}.sevCritical{background:#ef444424;border-color:#ef44444d;color:#f87171}.sevHigh{background:#fbbf241f;border-color:#fbbf2447;color:#fbbf24}.sevMedium{background:#3b82f61f;border-color:#3b82f647;color:#60a5fa}.sevLow{background:#22c55e1a;border-color:#22c55e40;color:#4ade80}.progress{width:100%;height:8px;border-radius:999px;background:#ffffff1a;overflow:hidden}.progressBar{height:100%;background:linear-gradient(90deg,#2563eb59,#2563ebd9,#2563eb59);background-size:200% 100%;width:0%}@keyframes progressShimmer{0%{background-position:0% 0%}to{background-position:200% 0%}}.progressRunning .progressBar{animation:progressShimmer 1.2s linear infinite}.logBox{margin-top:10px;padding:10px;border-radius:12px;border:1px solid var(--border);background:#0b1220;color:#d1d5db;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;max-height:200px;overflow:auto;white-space:pre-wrap}.logPanel{margin-top:10px;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,#ffffff08,#fff0),#0b1220;overflow:hidden}.logHeader{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.16);color:#e2e8f0eb;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,Noto Sans,Liberation Sans,sans-serif}.logHeaderTitle{font-size:12px;font-weight:900;letter-spacing:.02em}.logHeaderMeta{font-size:12px;color:#94a3b8eb;font-weight:800}.logPanel .logBox{margin-top:0;border:none;border-radius:0;background:transparent;max-height:260px;white-space:pre;padding:10px}.diffMeta{color:var(--muted);font-weight:700}.diffChip{display:inline-flex;align-items:baseline;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;font-size:12px;font-weight:800;color:var(--text)}.diffChipKey{color:var(--muted);font-weight:900}.diffList{margin:0;padding-left:18px}.diffItem{margin:0 0 8px;color:#94a3b8b3;font-weight:700}.diffItemChanged{color:var(--text)}.diffName{font-weight:900}.diffArrow{margin-left:8px;font-weight:800}
