@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;750&display=swap";*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:#071019;color:#e9eef5}button,input,select{font:inherit}.app-shell{min-height:100vh;background:radial-gradient(circle at 75% -10%,#123847 0,#071019 38%);display:flex}.sidebar{width:238px;background:#070d14f5;border-right:1px solid #1b2937;display:flex;flex-direction:column;padding:22px 14px;position:fixed;inset:0 auto 0 0;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:5px 9px 24px}.brand-mark{width:38px;height:38px;border-radius:10px;background:#0d5c60;display:grid;place-items:center;color:#4fe4d2}.brand strong{display:block;font-size:18px}.brand span{display:block;color:#748397;font-size:10px;margin-top:3px}.nav-label{font-size:10px;color:#617187;text-transform:uppercase;letter-spacing:.13em;padding:0 10px 8px}nav{display:grid;gap:4px}.nav-item{height:43px;padding:0 12px;border-radius:9px;display:flex;align-items:center;gap:12px;color:#8796aa;text-decoration:none;font-size:13px;font-weight:600}.nav-item:hover{background:#111d29;color:#eaf1f7}.nav-item.active{background:linear-gradient(90deg,#0b3438,#10232c);color:#dffefa;border-left:2px solid #27d6c0}.sidebar-bottom{margin-top:auto}.env-box{border:1px solid #213142;background:#0c151e;border-radius:9px;padding:11px;display:flex;gap:9px;align-items:flex-start}.env-box b{font-size:11px;display:block}.env-box small{display:block;color:#738399;margin-top:4px;font-size:10px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#24d5a8;box-shadow:0 0 9px #24d5a8;flex:none;margin-top:4px}.version{font-size:9px;color:#526276;padding:12px 4px 0}.main{margin-left:238px;width:calc(100% - 238px);min-height:100vh}.topbar{height:65px;border-bottom:1px solid #1a2734;background:#060d14b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;padding:0 28px;justify-content:space-between}.top-context{color:#9ba9ba;font-size:12px;display:flex;gap:7px;align-items:center}.top-actions{display:flex;gap:9px;align-items:center}.search-box,.filter-search{height:37px;background:#0d1721;border:1px solid #243343;border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 11px;color:#63748a}.search-box input,.filter-search input{border:0;outline:0;background:transparent;color:#dfe8f1;width:210px;font-size:12px}.icon-button,.avatar{border:1px solid #263645;background:#0d1721;color:#9daabd;width:37px;height:37px;border-radius:8px;display:grid;place-items:center;cursor:pointer}.avatar{background:#17323a;color:#72e4d1;font-size:11px;font-weight:700}.mobile-only{display:none}.content{max-width:1450px;margin:auto;padding:30px 34px 50px}.page-header{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:10px}.eyebrow{font-size:10px;color:#65768b;letter-spacing:.13em;font-weight:700;margin-bottom:7px}.page-header h1{font-size:29px;line-height:1.15;margin:0;font-weight:700;letter-spacing:-.02em}.page-header p{font-size:13px;color:#7f8da0;margin:8px 0 0}.header-actions{display:flex;gap:8px;padding-top:9px}.btn{height:38px;padding:0 14px;border-radius:8px;border:1px solid #293949;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;font-weight:650}.btn.primary{background:#11a98a;border-color:#16b494;color:#04120f}.btn.primary:hover{background:#19bb9a}.btn.secondary{background:#0e1923;color:#c8d3df}.btn.secondary:hover{border-color:#486071;background:#13202b}.scan-meta{display:flex;align-items:center;gap:8px;color:#8290a2;font-size:11px;margin:13px 0 20px}.scan-meta span:last-child{margin-left:12px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.kpi-grid.three{grid-template-columns:repeat(3,1fr)}.kpi{background:#0c151e;border:1px solid #1e2c39;border-radius:11px;padding:17px 18px;min-height:135px;position:relative}.kpi-icon{position:absolute;right:15px;top:15px;width:31px;height:31px;border-radius:8px;display:grid;place-items:center}.kpi-icon svg{width:16px}.kpi-icon.good{background:#0d2d27;color:#29d1a5}.kpi-icon.warn{background:#2c2513;color:#e8b34c}.kpi-icon.bad{background:#321922;color:#f05a70}.kpi-label{font-size:11px;color:#8795a7;font-weight:600;margin-bottom:16px}.kpi-value{font-size:32px;font-weight:700;letter-spacing:-.03em}.kpi-meta{font-size:10px;color:#657589;margin-top:8px}.grid-2{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;margin-bottom:14px}.panel{background:#0c151e;border:1px solid #1e2c39;border-radius:11px;padding:18px;margin-bottom:14px;overflow:hidden}.panel-title h2{font-size:16px;margin:0;font-weight:650}.panel-title p{font-size:10px;color:#68788c;margin:5px 0 15px}.panel-heading-row{display:flex;justify-content:space-between;align-items:flex-start}.text-btn{background:none;border:0;color:#48d6c1;cursor:pointer;font-size:11px;display:flex;align-items:center;gap:2px;padding:3px}.text-btn:hover{text-decoration:underline}.bars{padding:3px 0 8px}.bar-row{margin:17px 0}.bar-label{display:flex;justify-content:space-between;margin-bottom:7px;font-size:11px}.bar-label span{color:#758499;font-size:10px}.bar-track{height:12px;background:#15212c;border-radius:8px;display:flex;overflow:hidden}.bar-track i{background:#18b889}.bar-track em{background:#e0445b}.bar-track small{background:#657184}.donut-wrap{display:flex;align-items:center;justify-content:center;gap:35px;min-height:220px}.donut{width:175px;height:175px;border-radius:50%;display:grid;place-items:center}.donut>div{width:125px;height:125px;border-radius:50%;background:#0c151e;display:grid;place-items:center;align-content:center}.donut strong{font-size:28px}.donut span{font-size:10px;color:#738197}.legend{min-width:115px}.legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;margin:12px 0;font-size:10px;color:#7d8b9e}.legend b{color:#dce5ee}.dot{width:7px;height:7px;border-radius:50%}.dot.good{background:#18b889}.dot.bad{background:#e0445b}.dot.unknown{background:#657184}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:750px}th{text-align:left;color:#637388;font-size:9px;text-transform:uppercase;letter-spacing:.07em;padding:10px 11px;border-bottom:1px solid #1e2b37}td{font-size:11px;color:#b9c5d1;padding:12px 11px;border-bottom:1px solid #172530;vertical-align:middle}td b{color:#e3eaf1;font-weight:600}td small{display:block;color:#64758a;font-size:9px;margin-top:4px}.click-row{cursor:pointer}.click-row:hover{background:#101c27}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.pill,.status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:750}.pill.bad,.status.bad{background:#331822;color:#f05a70}.pill.warn{background:#332914;color:#e7b449}.pill.good,.status.good{background:#0c3028;color:#31d0a8}.status.unknown{background:#222c37;color:#9ba8b8}.toolbar{display:flex;gap:8px;align-items:center;margin:18px 0 13px}.toolbar select{height:37px;background:#0d1721;border:1px solid #243343;color:#aab7c6;border-radius:8px;padding:0 10px;font-size:11px}.result-count{margin-left:auto;color:#68788c;font-size:10px}.filter-search{flex:1;max-width:550px}.filter-search input{width:100%}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-row{display:grid;grid-template-columns:140px 1fr;padding:13px 0;border-bottom:1px solid #192732;font-size:11px}.detail-row span{color:#68788c}.detail-row b{font-weight:600;color:#dce5ee}.callout{display:flex;gap:10px;padding:13px;border-radius:9px;margin:5px 0 20px}.callout.bad{background:#26151c;border:1px solid #48212c;color:#f05a70}.callout p{color:#a9b4c0;font-size:11px;line-height:1.6;margin:5px 0 0}.panel h3{font-size:13px}.workflow{list-style:none;padding:0;margin:14px 0 20px;display:grid;gap:9px}.workflow li{border:1px solid #22303d;padding:10px;border-radius:7px;font-size:11px;color:#7e8ca0}.workflow li.done{border-color:#174d40;color:#2fd0a6}.mini-progress{height:6px;width:80px;background:#192631;border-radius:5px;display:inline-block;overflow:hidden;margin-right:7px}.mini-progress i{display:block;height:100%;background:#18b889}.empty{padding:38px;text-align:center;color:#68788c;font-size:12px}.error-banner{margin:15px 34px 0;border:1px solid #5b2734;background:#28151d;color:#e8798a;border-radius:8px;padding:10px 13px;display:flex;align-items:center;gap:9px;font-size:11px}.error-banner button{margin-left:auto;border:0;background:none;color:#fff;cursor:pointer}.workflow-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 14px}.workflow-card{background:#0c151e;border:1px solid #1e2c39;border-radius:10px;padding:16px}.workflow-card.active{border-color:#1d6d60;background:#0d201f}.workflow-card b{font-size:10px;color:#38d1b4}.workflow-card h3{margin:10px 0 4px;font-size:14px}.workflow-card p{margin:0;color:#6f8094;font-size:10px;line-height:1.5}.candidate{display:grid;grid-template-columns:75px 1fr 90px 110px;gap:12px;align-items:center;border-bottom:1px solid #182733;padding:12px 2px}.candidate:last-child{border:0}.candidate small{display:block;color:#64758a;margin-top:4px;font-size:9px;word-break:break-all}.candidate-risk{color:#d5dde6;font-size:11px}.policy-safety{display:flex;gap:11px;align-items:flex-start;border:1px solid #19493f;background:#0c211e;padding:13px;border-radius:8px;margin-bottom:15px;color:#36d0ad}.policy-safety b{font-size:11px;color:#d9eee9}.policy-safety p{font-size:10px;color:#76968f;margin:5px 0 0}.loading{min-height:55vh;display:grid;place-items:center;align-content:center;gap:12px;color:#738399;font-size:12px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1050px){.sidebar{width:205px}.main{margin-left:205px;width:calc(100% - 205px)}.content{padding:25px 22px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.detail-grid{grid-template-columns:1fr}.workflow-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{transform:translate(-100%);transition:.2s;width:245px}.sidebar.open{transform:translate(0)}.main{margin-left:0;width:100%}.mobile-only{display:grid}.topbar{padding:0 14px}.top-context,.search-box{display:none}.content{padding:22px 14px}.page-header{display:block}.header-actions{margin-top:15px}.kpi-grid,.kpi-grid.three{grid-template-columns:1fr}.donut-wrap{gap:15px}.workflow-cards{grid-template-columns:1fr}.candidate{grid-template-columns:70px 1fr}.candidate-risk{display:none}.candidate .btn{grid-column:2}.error-banner{margin:10px 14px 0}}
