:root{--bg: #0f172a;--panel: #1e293b;--edge: #334155;--fg: #e2e8f0;--muted: #94a3b8;--accent: #38bdf8}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}.app{min-height:100vh;display:flex;flex-direction:column}.app__header{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.25rem;background:var(--panel);border-bottom:1px solid var(--edge)}.app__brand{font-weight:700;letter-spacing:.02em}.app__auth{margin-left:auto}.app__body{display:flex;flex:1}.app__nav{display:flex;flex-direction:column;gap:.25rem;padding:1rem;width:200px;border-right:1px solid var(--edge)}.app__navlink{color:var(--muted);text-decoration:none;padding:.4rem .6rem;border-radius:6px}.app__navlink:hover{background:var(--edge);color:var(--fg)}.app__navlink.active{background:var(--edge);color:var(--accent)}.app__main{flex:1;padding:1.5rem 2rem}.tenant-switcher{display:flex;align-items:center;gap:.5rem}.tenant-switcher__label{color:var(--muted);font-size:.85rem}.tenant-switcher__select{background:var(--bg);color:var(--fg);border:1px solid var(--edge);border-radius:6px;padding:.35rem .5rem}button{background:var(--accent);color:#04283a;border:0;border-radius:6px;padding:.4rem .9rem;font-weight:600;cursor:pointer}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;background:var(--edge);color:var(--accent);font-size:.75rem;text-transform:uppercase}.module-list{color:var(--muted);line-height:1.9}.placeholder{color:var(--muted)}.form{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap;margin:1rem 0}.form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted)}.form input{padding:.5rem .6rem;min-width:20rem}.error{color:#b3261e}.result{margin-top:1rem;padding:1rem;border:1px solid var(--muted);border-radius:8px}.result__link{display:flex;gap:.5rem}.result__link input{flex:1;padding:.5rem .6rem;font-family:monospace}.hint{color:var(--muted);font-size:.85rem}.login{min-height:100vh;display:grid;place-items:center;padding:2rem}.login__card{max-width:26rem;width:100%;text-align:center;padding:2.5rem 2rem;border:1px solid var(--muted);border-radius:12px}.login__brand{font-size:1.6rem;font-weight:700;letter-spacing:.02em}.login__tagline{color:var(--muted);margin:.5rem 0 1.75rem}.login__btn{padding:.7rem 1.25rem;font-size:1rem;cursor:pointer}.login__note{color:var(--muted);font-size:.8rem;margin-top:1.25rem}.app__user{color:var(--muted);font-size:.85rem;margin-right:.75rem}.row-between{display:flex;align-items:center;justify-content:space-between;gap:1rem}.btn-link{text-decoration:none;padding:.4rem .75rem;border:1px solid var(--muted);border-radius:6px}.tbl{width:100%;border-collapse:collapse;margin:1rem 0}.tbl th,.tbl td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--muted)}.tbl th{font-size:.8rem;text-transform:uppercase;color:var(--muted);font-weight:600}.findings{list-style:none;padding:0}.findings li{padding:.6rem 0;border-bottom:1px solid var(--muted)}.sev{display:inline-block;min-width:4.5rem;text-align:center;font-size:.72rem;text-transform:uppercase;padding:.1rem .4rem;border-radius:4px;margin-right:.5rem;color:#fff}.sev--critical{background:#7f1d1d}.sev--high{background:#b3261e}.sev--medium{background:#b7791f}.sev--low{background:#4b5563}.sev--info{background:#6b7280}
