:root{--bg:#0b0b0b;--fg:#f6f6f6;--accent:#facc15;--accent2:#fde68a;--muted:#9ca3af;--card:#111;--ok:#22c55e;--warn:#f59e0b;--bad:#ef4444;--mono:ui-monospace,Menlo,Consolas,monospace}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
a{color:var(--accent)}
.header{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem;border-bottom:1px solid #1f1f1f;position:sticky;top:0;background:rgba(11,11,11,.9);backdrop-filter:blur(6px);z-index:10}
.logo{width:36px;height:36px;border-radius:10px;overflow:hidden;display:grid;place-items:center}
.logo img{width:100%;height:100%;object-fit:cover}
.brand{font-weight:900;letter-spacing:.3px}
.container{max-width:1180px;margin:0 auto;padding:1.25rem}
.card{background:var(--card);border:1px solid #1f1f1f;border-radius:16px;padding:1rem 1.25rem;margin:.75rem 0;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .12s ease}
.card:hover{transform:translateY(-1px)}
.btn{background:var(--accent);color:#000;border:0;border-radius:12px;padding:.65rem .9rem;font-weight:800;cursor:pointer;transition:transform .08s ease}
.btn:active{transform:scale(.98)}
.btn-s{padding:.45rem .6rem;border-radius:10px;font-weight:800}
.btn:disabled{opacity:.6;cursor:not-allowed}
.input{width:100%;padding:.8rem 1rem;border-radius:12px;border:1px solid #242424;background:#0f0f0f;color:var(--fg)}
.row{display:flex;gap:.75rem;flex-wrap:wrap}
.small{color:var(--muted);font-size:.9rem}
hr{border:0;border-top:1px solid #1f1f1f;margin:1rem 0}
.badge{display:inline-block;padding:.2rem .5rem;border-radius:.5rem;font-weight:700}
.badge.ok{background:rgba(34,197,94,.15);color:var(--ok);border:1px solid rgba(34,197,94,.35)}
.badge.warn{background:rgba(245,158,11,.15);color:var(--warn);border:1px solid rgba(245,158,11,.35)}
.badge.bad{background:rgba(239,68,68,.15);color:var(--bad);border:1px solid rgba(239,68,68,.35)}
.progress{height:12px;background:#181818;border:1px solid #232323;border-radius:12px;overflow:hidden}
.progress>div{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .25s ease}
.log{background:#0a0a0a;border:1px solid #1f1f1f;border-radius:12px;padding:.75rem;font-family:var(--mono);font-size:.9rem;max-height:220px;overflow:auto;white-space:pre-wrap}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}
.tool{background:#0e0e0e;border:1px solid #1f1f1f;border-radius:12px;padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.tool h4{margin:.2rem 0 .4rem 0}
.footer{padding:2rem 0;color:#777;text-align:center}
.summary{display:flex;gap:12px;flex-wrap:wrap}
.summary .pill{border:1px solid #1f1f1f;background:#0e0e0e;padding:.4rem .6rem;border-radius:999px}
.hidden{display:none}
.stepper{display:flex;gap:6px;flex-wrap:wrap;margin:.5rem 0}
.step{display:flex;align-items:center;gap:6px;padding:.35rem .6rem;border-radius:999px;border:1px solid #2a2a2a;background:#0e0e0e;color:#cbd5e1}
.step.active{border-color:#facc15;color:#facc15}
.step.done{border-color:#1f7a1f;color:#22c55e}
.icon{width:14px;height:14px;display:inline-block}
.findings{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem}
.card-finding{background:#0f0f0f;border:1px solid #1f1f1f;border-radius:14px;padding:1rem}
.card-finding h4{margin:.2rem 0 .25rem 0}
.card-finding p{margin:.25rem 0}
.copy{background:transparent;border:1px solid #2a2a2a;border-radius:8px;padding:.35rem .6rem;color:#e5e7eb;cursor:pointer}
.sev-critical{color:#ef4444}.sev-high{color:#f59e0b}.sev-medium{color:#fbbf24}.sev-low{color:#a3e635}.sev-info{color:#60a5fa}

/* Charts compactos */
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}
.charts canvas{width:100% !important;height:240px !important}
@media (min-width:1200px){.charts canvas{height:280px !important}}

.tools-grid .btn-s{margin-left:auto}
.report-logo{width:120px;border-radius:10px;overflow:hidden}
.report-logo img{width:100%}
.header-title{display:flex;align-items:center;gap:.75rem}
.microcopy{display:flex;align-items:center;gap:.5rem;color:#cbd5e1;font-size:.9rem;margin-top:.35rem}
.microcopy .ico{font-size:1rem}
.print-btn{margin-left:.5rem}

.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse;font-size:.9rem}
.table th,.table td{border:1px solid #333;padding:.4rem .5rem;text-align:left;vertical-align:top}
.table thead th{position:sticky;top:0;background:#0f1115}
