*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--border: #30363d;--text-primary: #c9d1d9;--text-secondary: #8b949e;--accent: #58a6ff;--accent-hover: #79b8ff;--green: #3fb950;--red: #f85149;--orange: #e8590c;--yellow: #f0c000;--cyan: #0dcaf0;--gray: #6c757d;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: "Cascadia Code", "Fira Code", "Consolas", monospace}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);line-height:1.5}.app{display:flex;min-height:100vh}.main-content{flex:1;padding:24px 32px;overflow-y:auto;max-height:100vh}.mobile-header{display:none}.sidebar{width:220px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 0;flex-shrink:0}.sidebar-logo{padding:0 20px 20px;border-bottom:1px solid var(--border);margin-bottom:12px}.sidebar-logo h2{color:var(--accent);font-size:1.1rem;font-weight:600}.sidebar-logo span{color:var(--text-secondary);font-size:.75rem}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0 8px;flex:1}.sidebar-footer{padding:12px 20px;border-top:1px solid var(--border);font-size:.72rem;color:var(--text-secondary);text-align:center}.sidebar-footer a{color:var(--accent);text-decoration:none}.sidebar-footer a:hover{text-decoration:underline}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:.9rem;transition:all .15s;border:none;background:none;width:100%;text-align:left}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:#58a6ff1a;color:var(--accent)}.nav-item.disabled{opacity:.4;cursor:not-allowed}.page-header{margin-bottom:24px}.page-header h1{font-size:1.5rem;color:var(--text-primary);font-weight:600}.page-header p{color:var(--text-secondary);font-size:.9rem;margin-top:4px}.card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:16px}.card h3{font-size:1rem;margin-bottom:16px;color:var(--text-primary)}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:6px}.form-group input{width:100%;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.9rem;font-family:var(--font);outline:none;transition:border-color .15s}.form-group input:focus{border-color:var(--accent)}.form-group input::placeholder{color:var(--text-secondary);opacity:.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:var(--font)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent)}.btn-danger{background:#f8514926;color:var(--red);border:1px solid rgba(248,81,73,.3)}.btn-danger:hover{background:#f8514940}.btn-sm{padding:6px 12px;font-size:.8rem}.log-viewer{background:#010409;border:1px solid var(--border);border-radius:8px;padding:16px;font-family:var(--mono);font-size:.8rem;max-height:450px;overflow-y:auto;line-height:1.7}.log-viewer::-webkit-scrollbar{width:8px}.log-viewer::-webkit-scrollbar-track{background:transparent}.log-viewer::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.log-line{white-space:pre-wrap;word-break:break-all}.log-line .time{color:var(--text-secondary);margin-right:8px}.log-line.info{color:var(--cyan)}.log-line.success{color:var(--green)}.log-line.warning{color:var(--yellow)}.log-line.error{color:var(--red)}.log-line.finding{color:var(--orange)}.log-line.banner{color:var(--accent)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:10px 12px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.data-table td{padding:10px 12px;border-top:1px solid var(--border);font-size:.85rem;vertical-align:top}.data-table tr:hover td{background:#58a6ff0a}.data-table code{background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;font-size:.8rem;font-family:var(--mono);word-break:break-all}.badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge-critico{background:#f8514933;color:var(--red)}.badge-alto{background:#e8590c33;color:var(--orange)}.badge-medio{background:#f0c00033;color:var(--yellow)}.badge-baixo{background:#0dcaf033;color:var(--cyan)}.badge-info{background:#6c757d33;color:var(--gray)}.badge-running,.badge-starting{background:#58a6ff33;color:var(--accent)}.badge-completed{background:#3fb95033;color:var(--green)}.badge-error{background:#f8514933;color:var(--red)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.stat-card{background:var(--bg-tertiary);padding:14px 16px;border-radius:8px;text-align:center}.stat-card .value{font-size:1.6rem;font-weight:700;color:var(--accent)}.stat-card .label{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:20px}.tab-btn{padding:10px 18px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .15s;font-family:var(--font)}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.report-card{display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin-bottom:10px;transition:border-color .15s;cursor:pointer}.report-card:hover{border-color:var(--accent)}.report-card .report-info h4{font-size:.95rem;color:var(--text-primary);margin-bottom:4px}.report-card .report-info p{font-size:.8rem;color:var(--text-secondary)}.report-card .report-stats{display:flex;gap:12px;align-items:center}.report-card .report-stats .mini-stat{text-align:center}.report-card .report-stats .mini-stat .num{font-size:1.1rem;font-weight:700}.report-card .report-stats .mini-stat .lbl{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase}.finding-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:10px}.finding-card .finding-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.finding-card .finding-header h4{font-size:.9rem}.finding-card .finding-details{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:.83rem}.finding-card .finding-details .detail-key{color:var(--text-secondary);font-weight:500}.finding-card .finding-details .detail-value{color:var(--text-primary);word-break:break-all;font-family:var(--mono);font-size:.8rem}.discovery-list{list-style:none}.discovery-list li{padding:8px 12px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:.83rem;word-break:break-all}.discovery-list li:last-child{border-bottom:none}.discovery-list li:hover{background:#58a6ff0a}.recon-targets{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.recon-target-card{display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px 16px;cursor:pointer;transition:border-color .15s}.recon-target-card:hover{border-color:var(--accent)}.recon-target-card.active{border-color:var(--accent);background:#58a6ff0f}.recon-target-info h4{font-size:.9rem;color:var(--text-primary);margin-bottom:2px}.recon-target-info p{font-size:.75rem;color:var(--text-secondary)}.recon-target-badges{display:flex;gap:8px}.recon-info-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin-bottom:16px}.recon-info-label{color:var(--text-secondary);font-weight:600}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state h3{font-size:1.1rem;margin-bottom:8px;color:var(--text-primary)}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:.85rem;cursor:pointer;margin-bottom:16px;background:none;border:none;font-family:var(--font)}.back-link:hover{text-decoration:underline}.severity-summary{display:flex;gap:16px;flex-wrap:wrap}.actions-row{display:flex;gap:8px;margin-top:12px}.collapsible-toggle{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.8rem;padding:0;font-family:var(--font)}.collapsible-toggle:hover{text-decoration:underline}.tools-section{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.tool-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px;cursor:pointer;transition:border-color .15s;border:1px solid transparent}.tool-checkbox:hover{border-color:var(--border)}.tool-checkbox input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}.tool-checkbox .tool-name{font-weight:600;font-size:.85rem;color:var(--text-primary);min-width:80px}.tool-checkbox .tool-desc{font-size:.78rem;color:var(--text-secondary);margin-left:auto}.tool-missing{opacity:.5}.tool-missing .tool-name{text-decoration:line-through}@media(max-width:768px){.app{flex-direction:column}.sidebar{width:100%;flex-direction:column;padding:0;border-right:none;position:fixed;bottom:0;left:0;z-index:100;background:var(--bg-secondary);border-top:1px solid var(--border)}.sidebar-logo{display:none}.sidebar-nav{flex-direction:row;gap:0;padding:0;justify-content:space-around;width:100%}.nav-item{flex:1;flex-direction:column;align-items:center;justify-content:center;padding:10px 0;font-size:.7rem;gap:3px;border-radius:0}.nav-item span{font-size:1.2rem}.sidebar-footer{display:none}.main-content{padding:16px 16px 72px;max-height:none}.page-header h1{font-size:1.2rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.report-card{flex-direction:column;align-items:flex-start;gap:12px;padding:14px}.report-card .report-stats{width:100%;justify-content:space-between}.finding-card .finding-details{grid-template-columns:1fr}.finding-card .finding-details .detail-key{margin-top:6px}.severity-summary{gap:8px}.tabs{overflow-x:auto}.tab-btn{padding:8px 12px;font-size:.8rem;white-space:nowrap}.data-table{display:block;overflow-x:auto}.log-viewer{max-height:300px;font-size:.72rem}.tools-section{gap:6px}.tool-checkbox{flex-wrap:wrap}.tool-checkbox .tool-desc{margin-left:24px;width:100%}.actions-row{flex-wrap:wrap}.btn{padding:8px 14px;font-size:.85rem}.card{padding:14px}.recon-target-card{flex-direction:column;align-items:flex-start;gap:8px}.recon-target-badges{flex-wrap:wrap}.recon-info-grid{grid-template-columns:1fr;gap:4px}.recon-info-label{margin-top:8px}.stat-card .value{font-size:1.1rem;word-break:break-all}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.mobile-header h2{color:var(--accent);font-size:1rem;font-weight:600}.mobile-header a{color:var(--text-secondary);text-decoration:none;font-size:.7rem}}
