:root{font-family:Inter,system-ui,sans-serif;color:#e8edf4;background:#0b0f14}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#172230,#0b0f14 52%)}
.shell{max-width:1180px;margin:auto;padding:28px 18px}.card{background:#121821;border:1px solid #263140;border-radius:18px;padding:20px;box-shadow:0 12px 40px rgba(0,0,0,.25)}
#login{max-width:420px;margin:10vh auto}.card h1,.card h2{margin-top:0}.card p{color:#9aa7b5}
form{display:grid;gap:10px}input,button{font:inherit;border-radius:10px;border:1px solid #334154;padding:12px;background:#0e141c;color:#fff}button{cursor:pointer;background:#263548}button:hover{filter:brightness(1.08)}
.top{display:flex;align-items:center;gap:10px;margin-bottom:18px}.top>div{margin-right:auto}.top h1{margin:0}.top small{color:#9aa7b5}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.grid .card span{display:block;color:#9aa7b5;font-size:13px}.grid strong{font-size:26px;display:block;margin-top:6px}
#findings{display:grid;gap:10px}.finding{padding:13px;border-radius:12px;background:#0e141c;border:1px solid #2d3948}.finding b{display:block;margin-bottom:4px}.critical{border-color:#9a4a4a}.warning{border-color:#9a7b4a}.ok{border-color:#4a8f68}
.chat{min-height:110px;display:grid;gap:10px;margin-bottom:12px}.msg{padding:12px;border-radius:12px;background:#0e141c;white-space:pre-wrap}.msg.me{border-left:3px solid #7c93ad}.msg.ai{border-left:3px solid #9b7c4d}.ask{grid-template-columns:1fr auto}.error{color:#ff8d8d;margin-top:10px;min-height:20px}
@media(max-width:800px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.shell{padding:12px}.grid{grid-template-columns:1fr}.top{flex-wrap:wrap}.ask{grid-template-columns:1fr}}
