.scan-btn:hover{border-color:var(--lime)}
:root{--bg:#07101d;--panel:#0d1929;--line:#21334a;--muted:#8495ac;--text:#f3f7fc;--lime:#4ad6c2;--red:#ff6372}
body{background:radial-gradient(circle at 72% -10%,#10364a 0,transparent 30%),var(--bg)}
.logo{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:9px;background:linear-gradient(135deg,#4ad6c2,#4f8cff);color:#06131c!important;font-size:16px;margin-right:7px}.workspace{font-size:9px;letter-spacing:1.4px;color:#61748c;margin:0 14px 14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.user-menu{grid-template-columns:34px 1fr auto!important}.user-menu button::after{content:" Sign out"}.user-menu button{font-size:10px!important;white-space:nowrap}
main{max-width:none;width:calc(100vw - 220px)}.sidebar-bottom{position:absolute;bottom:22px;left:18px;right:18px}.sidebar-bottom .engine{position:static;margin-top:15px}.user-menu{display:grid;grid-template-columns:34px 1fr 30px;gap:9px;align-items:center;padding:12px 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#17344a;color:#72dfcf;font-size:10px;font-weight:800}.user-menu b,.user-menu small{display:block;max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu b{font-size:11px}.user-menu small{font-size:9px;color:var(--muted);margin-top:2px}.user-menu button{border:0;background:transparent;color:var(--muted);font-size:19px;border-radius:6px;padding:3px}.user-menu button:hover{background:#1a293b;color:#ff9299}
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,600px) 1fr;background:#07101d}.login-card{display:flex;flex-direction:column;justify-content:center;padding:70px 15%;background:#0c1726}.login-brand{position:absolute;top:42px;font-size:21px;font-weight:800}.login-card h1{font-size:38px;margin:5px 0}.login-card>p:not(.eyebrow){color:var(--muted);margin:0 0 24px}.login-card form{max-width:400px}.login-card .primary{width:100%;margin-top:10px;padding:13px}.login-card>small{color:#53657a;margin-top:30px}.login-visual{display:flex;flex-direction:column;justify-content:center;padding:10%;background:radial-gradient(circle at 20% 30%,#164a5e,transparent 37%),linear-gradient(145deg,#0a1a2d,#07101d)}.login-visual h2{font-size:46px;line-height:1.12;letter-spacing:-1.5px;margin:8px 0 18px}.login-visual>p:not(.eyebrow){font-size:17px;color:#9badc3;max-width:550px}.trust{display:flex;gap:24px;margin-top:45px;color:#74dfce;font-size:12px}.company-layout{display:grid;grid-template-columns:340px 1fr;gap:28px}.company-layout form{padding:20px;border:1px solid var(--line);border-radius:10px}.company-layout h3{margin-top:0}
.toast{position:fixed;right:24px;top:24px;background:#1f3921;color:#c9ffad;border:1px solid #3e6a35;border-radius:9px;padding:12px 16px;z-index:20;opacity:0;transform:translateY(-8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}
.detail{width:min(1000px,calc(100% - 30px));max-height:90vh}
.detail-shell{padding:28px;position:relative}
.detail-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:25px}
.detail-top h2{margin:3px 0}.detail-actions{display:flex;gap:8px;margin-right:38px}.detail-actions a{text-decoration:none}
.risk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}
.risk-chip{border:1px solid var(--line);border-radius:9px;padding:12px}.risk-chip b,.risk-chip span{display:block}.risk-chip b{font-size:22px}.risk-chip span{color:var(--muted);font-size:11px;margin-top:3px}
.finding-tools{display:flex;gap:10px;margin:18px 0}.finding-tools input{flex:1}.finding-tools select{width:170px}
.scan-coverage{display:flex;justify-content:space-between;gap:28px;margin:22px 0 12px;padding:20px;border:1px solid var(--line);border-left:4px solid #718092;border-radius:9px;background:#111b27}.scan-coverage h3{margin:3px 0 5px;text-transform:capitalize}.scan-coverage p{margin:0;max-width:650px;color:var(--muted);font-size:12px}.scan-coverage.substantial{border-left-color:#26b891}.scan-coverage.partial{border-left-color:#d9a441}.scan-coverage.insufficient{border-left-color:#dc6475}.coverage-stats{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));gap:18px;align-items:center}.coverage-stats span{font-size:9px;text-transform:uppercase;color:var(--muted);white-space:nowrap}.coverage-stats b{display:block;color:var(--text);font-size:21px;margin-bottom:2px}.route-evidence{border:1px solid var(--line);border-radius:8px;margin-bottom:18px}.route-evidence summary{cursor:pointer;padding:13px 16px;font-size:12px}.route-list{max-height:300px;overflow:auto;border-top:1px solid var(--line);padding:4px 16px}.route-list>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}.route-list code{word-break:break-all;color:var(--lime);font-size:11px}.route-list span{white-space:nowrap;color:var(--muted);font-size:10px;text-transform:capitalize}
.finding-list{display:grid;gap:8px}.finding{border:1px solid var(--line);border-radius:9px;overflow:hidden}.finding summary{display:grid;grid-template-columns:85px 1fr auto;gap:12px;align-items:center;padding:14px;cursor:pointer}.finding summary::marker{color:var(--muted)}
.severity{font-size:10px;text-transform:uppercase;font-weight:800}.severity.High{color:var(--red)}.severity.Medium{color:#ffb454}.severity.Low{color:#72b7ff}
.finding-body{border-top:1px solid var(--line);padding:16px;color:#b4c0cd;line-height:1.55}.finding-body h4{color:var(--text);margin:14px 0 5px}.finding-body code{word-break:break-all;color:var(--lime)}.muted{color:var(--muted)}
.target-list{display:grid;gap:10px}.target-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;border:1px solid var(--line);border-radius:10px;padding:16px}.target-row b,.target-row small{display:block}.target-row small{color:var(--muted);margin-top:5px;word-break:break-all}.target-actions{display:flex;gap:8px}.danger{border:1px solid #633039;background:#30191d;color:#ff9299;border-radius:8px;padding:9px 12px}.danger:hover{background:#462128}
.asset-meta{display:flex;gap:7px;margin-top:9px}.asset-meta span{font-size:10px;color:#9cb0c8;background:#17263a;border:1px solid #263b55;border-radius:20px;padding:3px 7px}.inventory-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.inventory-stats div{background:#0a1421;border:1px solid var(--line);border-radius:9px;padding:14px}.inventory-stats strong,.inventory-stats span{display:block}.inventory-stats strong{font-size:22px}.inventory-stats span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}.inventory-tools{display:flex;gap:10px;margin-bottom:14px}.inventory-tools input{flex:1}.inventory-tools button{white-space:nowrap}.failure-note{font-size:11px;color:#ff9299}
@media(max-width:900px){.detail-top{align-items:flex-start;flex-direction:column}.detail-actions{margin:0}.risk-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.scan-coverage{display:block}.coverage-stats{margin-top:18px;grid-template-columns:1fr 1fr}.route-list>div{display:block}.route-list span{display:block;margin-top:5px}}@media(max-width:560px){.finding summary{grid-template-columns:65px 1fr}.finding summary small{display:none}}
@media(max-width:560px){.target-row{grid-template-columns:1fr}.target-actions{justify-content:flex-end}}
@media(max-width:800px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.company-layout{grid-template-columns:1fr}}
@media(max-width:900px){main{width:100%}}

/* Opsnova identity and sign-in experience */
.opsnova-mark{display:inline-grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:linear-gradient(145deg,#152a30,#0b171f);border:1px solid #3e756f;box-shadow:inset 0 1px 0 #ffffff1a,0 8px 30px #07101580}.opsnova-mark svg{width:27px;height:27px;overflow:visible}.opsnova-mark path{fill:none;stroke:#74ead2;stroke-width:3.6;stroke-linecap:round}.opsnova-mark path:nth-child(2){stroke:#b7f34a;stroke-width:2.6}.opsnova-mark circle{fill:#b7f34a;filter:drop-shadow(0 0 5px #b7f34a)}.brand{display:flex;align-items:center;gap:3px}.brand .opsnova-mark{width:31px;height:31px;flex-basis:31px;border-radius:10px;margin-right:5px}.brand .opsnova-mark svg{width:22px;height:22px}
.login-page{grid-template-columns:minmax(430px,42%) 1fr;overflow:hidden;background:#071019}.login-card{position:relative;z-index:3;padding:120px clamp(45px,7vw,110px) 70px;background:linear-gradient(150deg,#101d2b 0%,#0b1521 58%,#09121c 100%);border-right:1px solid #263849;box-shadow:25px 0 70px #02070d66}.login-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 90%,#1b574f2b,transparent 30%);pointer-events:none}.login-brand{top:46px;left:clamp(45px,7vw,110px);display:flex;align-items:center;gap:12px;font-size:22px;letter-spacing:-.5px}.login-brand>span:last-child{display:grid}.login-brand small{font-size:8px;line-height:1.3;letter-spacing:1.8px;color:#668095;text-transform:uppercase}.login-copy,.login-card form,.login-security{position:relative}.login-copy h1{font-size:44px;letter-spacing:-2px;margin:7px 0 10px}.login-copy>p:last-child{color:#8da0b4;margin:0 0 30px;font-size:15px}.login-card form{max-width:410px}.login-card label{color:#c7d3df;font-size:12px;letter-spacing:.2px}.login-card input{height:49px;background:#07111bbb;border-color:#2b3c4d;transition:border-color .2s,box-shadow .2s,background .2s}.login-card input:hover{border-color:#41566a}.login-card input:focus{outline:none;border-color:#68d7c3;background:#091621;box-shadow:0 0 0 3px #68d7c31c}.login-card .primary{height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 19px;margin-top:22px;background:linear-gradient(100deg,#b7f34a,#70e0bd);box-shadow:0 10px 35px #8eea7e1b;transition:transform .2s,box-shadow .2s}.login-card .primary:hover{transform:translateY(-1px);box-shadow:0 14px 38px #8eea7e2b}.login-card .primary b{font-size:19px}.login-security{display:flex;align-items:center;gap:9px;margin-top:25px;color:#60778b;font-size:11px}.login-security i{width:7px;height:7px;border-radius:50%;background:#77e5c9;box-shadow:0 0 10px #77e5c9}
.login-visual{position:relative;isolation:isolate;padding:8% 9%;background:radial-gradient(circle at 65% 35%,#164c554f 0,transparent 34%),linear-gradient(145deg,#091a27,#071019 65%)}.login-visual:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-210px;bottom:-210px;border:1px solid #6adacb20;box-shadow:0 0 100px #32a79414;z-index:-1}.visual-grid{position:absolute;inset:0;z-index:-2;opacity:.16;background-image:linear-gradient(#79a5b91b 1px,transparent 1px),linear-gradient(90deg,#79a5b91b 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom right,#000,transparent 78%)}.visual-copy{position:relative;z-index:2;max-width:700px}.live-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;margin-bottom:32px;border:1px solid #71d8c538;border-radius:30px;background:#0c272c99;color:#8edbcb;font-size:10px;text-transform:uppercase;letter-spacing:1px}.live-pill i{width:6px;height:6px;border-radius:50%;background:#b7f34a;box-shadow:0 0 9px #b7f34a}.login-visual h2{font-size:clamp(43px,4vw,67px);line-height:1.03;letter-spacing:-3px;margin:11px 0 23px}.login-visual h2 span{color:#9ae7d4}.login-visual>p:not(.eyebrow),.visual-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;color:#8fa4b9;max-width:610px}.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:54px;padding-top:23px;border-top:1px solid #8396a524;color:#b6c6d4;font-size:11px}.trust span{display:grid;gap:8px}.trust b{color:#73ddc8;font-size:10px;letter-spacing:1px}.signal-orbit{position:absolute;width:350px;height:350px;right:4%;top:6%;opacity:.55;transform:translate(20%,-28%)}.orbit{position:absolute;inset:0;border:1px solid #71e0cf3d;border-radius:50%}.orbit-two{inset:52px;border-color:#b7f34a2e}.orbit-core{position:absolute;inset:126px;display:grid;place-items:center;border-radius:50%;background:#0d2530aa;box-shadow:0 0 50px #4ed4bf22}.signal-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#b7f34a;box-shadow:0 0 14px #b7f34a}.dot-one{top:58px;left:55px}.dot-two{right:18px;bottom:120px;background:#6fe2cf;box-shadow:0 0 14px #6fe2cf}
@media(max-width:1050px){.login-page{grid-template-columns:minmax(400px,48%) 1fr}.trust{grid-template-columns:1fr;gap:14px}.trust span{grid-template-columns:28px 1fr;gap:3px}.signal-orbit{opacity:.3}}
@media(max-width:800px){.login-page{grid-template-columns:1fr}.login-card{min-height:100vh;padding:130px max(28px,9vw) 55px}.login-brand{left:max(28px,9vw)}.login-visual{display:none}}

/* Application asset onboarding */
.onboarding-dialog{width:min(1040px,calc(100% - 40px));max-height:calc(100vh - 40px);border-color:#29425a;border-radius:18px;background:#0b1624;box-shadow:0 28px 100px #000b;overflow:auto}.onboarding-dialog::backdrop{background:#02070dcc;backdrop-filter:blur(8px)}.onboarding-dialog form{display:grid;grid-template-columns:340px 1fr;padding:0;min-height:590px}.onboarding-dialog .close{z-index:4;width:34px;height:34px;display:grid;place-items:center;right:18px;top:18px;border:1px solid #31465c;border-radius:9px;background:#101e2d;color:#9aabba;line-height:1}.onboarding-dialog .close:hover{border-color:#537089;color:#fff;background:#17283a}.onboarding-guide{position:relative;width:auto;height:auto;padding:46px 34px;background:radial-gradient(circle at 0 0,#1c55504d,transparent 38%),linear-gradient(155deg,#102435,#0b1927 70%);border-right:1px solid #263b50}.onboarding-guide:after{content:"";position:absolute;inset:0;opacity:.1;background-image:linear-gradient(#7bd8c620 1px,transparent 1px),linear-gradient(90deg,#7bd8c620 1px,transparent 1px);background-size:32px 32px;pointer-events:none}.guide-mark,.onboarding-guide>p,.onboarding-guide>h2,.onboarding-steps,.scope-note{position:relative;z-index:1}.guide-mark{display:grid;place-items:center;width:44px;height:44px;margin-bottom:38px;border:1px solid #4b7b78;border-radius:13px;background:#102e35;color:#83e3cf;font-size:24px;box-shadow:0 10px 30px #0005}.onboarding-guide h2{font-size:30px;line-height:1.12;letter-spacing:-1.2px;margin:8px 0 14px}.onboarding-guide>p:not(.eyebrow){color:#91a6b9;line-height:1.65;margin:0}.onboarding-steps{display:grid;gap:20px;margin:38px 0}.onboarding-steps>div{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;color:#8296a9}.onboarding-steps>div>b{display:grid;place-items:center;width:29px;height:29px;border:1px solid #31495d;border-radius:50%;font-size:9px}.onboarding-steps span,.onboarding-steps strong,.onboarding-steps small{display:block}.onboarding-steps strong{color:#dbe6ef;font-size:12px;margin:1px 0 4px}.onboarding-steps small{font-size:10px}.onboarding-steps .active>b{border-color:#63d8c2;background:#153b3d;color:#85ead4;box-shadow:0 0 18px #5bddc52b}.scope-note{display:grid;grid-template-columns:23px 1fr;gap:11px;margin-top:35px;padding:14px;border:1px solid #2a4653;border-radius:11px;background:#0c202a99}.scope-note>i{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#70ddc5;color:#06201d;font-style:normal;font-weight:900;font-size:11px}.scope-note b,.scope-note small{display:block}.scope-note b{font-size:11px;color:#d6e5eb;margin:2px 0 5px}.scope-note small{color:#8298a8;font-size:10px;line-height:1.5}.onboarding-fields{padding:48px 48px 32px;background:linear-gradient(145deg,#0d1928,#0a1420)}.form-heading{padding-right:38px;margin-bottom:28px}.form-heading h3{font-size:25px;margin:6px 0 7px;letter-spacing:-.5px}.form-heading>p:last-child{margin:0;color:#7f91a4;font-size:12px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-block{padding:17px 18px 15px;border:1px solid #25384b;border-radius:12px;background:#0a1420;transition:border-color .2s,background .2s}.field-block:focus-within{border-color:#4b9b91;background:#0b1824;box-shadow:0 0 0 3px #58cdb817}.field-block label{margin:0;gap:9px}.field-block label>span{display:flex;justify-content:space-between;align-items:center;color:#d9e4ed;font-size:12px}.field-block em{font-size:8px;font-style:normal;letter-spacing:1px;text-transform:uppercase;color:#6ebfad}.field-block input,.field-block select{height:46px;background:#07111b;border-color:#2a4054}.field-block input:focus,.field-block select:focus{outline:none;border-color:#59cbb8}.field-block small{color:#6f8296;font-size:10px;line-height:1.45}.field-block code{color:#78d9c6;font-family:inherit}.authorization-card{grid-template-columns:20px 1fr;align-items:start;gap:13px;margin:18px 0 0;padding:17px 18px;border:1px solid #315148;border-radius:12px;background:linear-gradient(120deg,#10241f,#0b1a20);cursor:pointer}.authorization-card input{width:18px;height:18px;margin:1px 0 0;accent-color:#68dbc4}.authorization-card strong,.authorization-card small{display:block}.authorization-card strong{font-size:12px;color:#e0ebe8;margin-bottom:5px}.authorization-card small{font-size:10px;line-height:1.5;color:#849a98}.onboarding-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:26px;padding-top:22px;border-top:1px solid #203246}.onboarding-footer .error{margin:0;max-width:330px;font-size:11px}.onboarding-footer .actions{margin:0;flex:0 0 auto}.onboarding-footer .actions .close{position:static;width:auto;height:auto;padding:11px 16px;border-radius:8px;font-size:14px}.onboarding-footer .primary{min-width:190px;display:flex;justify-content:space-between;gap:18px;background:linear-gradient(100deg,#79e2cd,#b7f34a)}
@media(max-width:850px){.onboarding-dialog{width:min(650px,calc(100% - 24px));max-height:calc(100vh - 24px)}.onboarding-dialog form{grid-template-columns:1fr}.onboarding-guide{padding:30px;border-right:0;border-bottom:1px solid #263b50}.guide-mark,.onboarding-steps,.scope-note{display:none}.onboarding-guide h2{font-size:25px}.onboarding-fields{padding:32px 30px}.field-grid{grid-template-columns:1fr}}
@media(max-width:520px){.onboarding-dialog{width:calc(100% - 14px)}.onboarding-fields,.onboarding-guide{padding:25px 20px}.onboarding-footer{align-items:stretch;flex-direction:column}.onboarding-footer .actions{width:100%}.onboarding-footer .actions button{flex:1}.form-heading{padding-right:28px}}
