/* ─── Site Analyzer v5 — Styles ─── */
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  background: #0a0a0a; color: #e0e0e0;
  padding: 20px; font-size: 14px; line-height: 1.5;
}
h1 { color: #00ff88; margin-bottom: 4px; font-size: 20px; }
.subtitle { color: #555; font-size: 11px; margin-bottom: 18px; }
h2 { color: #00aaff; margin: 14px 0 8px; border-bottom: 1px solid #2a2a2a; padding-bottom: 4px; font-size: 14px; display:flex; align-items:center; gap:8px; }
h3 { color: #ffaa00; margin: 10px 0 5px; font-size: 12px; text-transform: uppercase; letter-spacing: 1px; }

input[type=text], input[type=number] {
  padding: 9px 12px; background: #141414; border: 1px solid #444;
  color: #eee; font-family: inherit; font-size: 14px; border-radius: 4px;
}
#urlInput { width: 100%; }

.btn { padding: 9px 18px; background: #00aa44; color: #fff; border: none; cursor: pointer; font-family: inherit; font-size: 13px; border-radius: 4px; margin-top: 10px; }
.btn:hover { background: #00cc55; }
.btn:disabled { background: #333; color: #666; cursor: wait; }
.btn-red    { background: #aa0000; } .btn-red:hover    { background: #cc0000; }
.btn-blue   { background: #0066aa; } .btn-blue:hover   { background: #0088cc; }
.btn-gray   { background: #333;    } .btn-gray:hover   { background: #444; }
.btn-purple { background: #6a008a; } .btn-purple:hover { background: #8800aa; }

.section { background: #111111; border: 1px solid #2a2a2a; border-radius: 6px; padding: 14px; margin-bottom: 14px; }
.section-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width:700px) { .section-grid { grid-template-columns: 1fr; } }

.tag { display: inline-block; background: #1e1e1e; border: 1px solid #3a3a3a; padding: 2px 8px; margin: 2px; border-radius: 3px; font-size: 11px; }
.tag.green  { border-color: #00aa44; color: #00ee66; }
.tag.orange { border-color: #cc7700; color: #ffaa00; }
.tag.red    { border-color: #aa2200; color: #ff4444; }
.tag.blue   { border-color: #0066aa; color: #44aaff; }
.tag.purple { border-color: #660099; color: #aa44ff; }

.endpoint-row { background: #0d0d0d; border-left: 3px solid #ff8800; padding: 5px 10px; margin: 3px 0; font-size: 12px; display:flex; gap:8px; align-items:baseline; flex-wrap:wrap; }
.endpoint-row.cat-auth    { border-left-color: #ff4444; }
.endpoint-row.cat-admin   { border-left-color: #ff0000; }
.endpoint-row.cat-payment { border-left-color: #ffdd00; }
.endpoint-row.cat-data    { border-left-color: #00aaff; }
.endpoint-row.cat-file    { border-left-color: #00cc88; }
.method { color: #00aaff; font-weight: bold; min-width: 48px; font-size: 11px; }

.ep-badge { font-size: 10px; padding: 1px 5px; border-radius: 2px; background: #2a1010; color: #ff6666; border: 1px solid #aa2222; }
.ep-badge.admin   { background: #2a0808; color: #ff4444; border-color: #cc0000; }
.ep-badge.auth    { background: #1a1030; color: #aa88ff; border-color: #6644aa; }
.ep-badge.payment { background: #2a2000; color: #ffdd44; border-color: #aa8800; }
.ep-badge.data    { background: #001a2a; color: #44aaff; border-color: #0066aa; }
.ep-src { color: #444; font-size: 11px; }

.asset-row { display:flex; align-items:center; border-bottom:1px solid #1a1a1a; padding:3px 0; font-size:12px; gap:6px; }
.asset-row .aurl { flex:1; word-break:break-all; color:#aaa; }
.asset-row a { color:#0088cc; text-decoration:none; white-space:nowrap; }
.asset-thumb { width:36px; height:36px; object-fit:cover; border-radius:3px; border:1px solid #2a2a2a; background:#0a0a0a; }

.info-row { display:flex; gap:8px; flex-wrap:wrap; }
.kv { background:#1a1a1a; padding:6px 10px; border-radius:3px; font-size:12px; min-width:80px; }
.kv .k { color:#555; display:block; font-size:10px; text-transform:uppercase; margin-bottom:2px; }
.kv .v { color:#eee; }

#status { color:#00aaff; margin-top:8px; font-size:12px; min-height:18px; }
.count { color:#555; font-size:12px; margin-left:6px; }

details summary { cursor:pointer; color:#00aaff; user-select:none; padding:2px 0; }
details summary:hover { color:#00ddff; }
pre { background:#070707; padding:10px; border-radius:4px; overflow-x:auto; font-size:11px; color:#bbb; white-space:pre-wrap; word-break:break-all; margin-top:6px; border:1px solid #1e1e1e; }
.note { color:#555; font-size:11px; margin-top:6px; }

.tabs { display:flex; gap:4px; margin-bottom:10px; flex-wrap:wrap; }
.tab-btn { padding:3px 10px; background:#1a1a1a; border:1px solid #333; color:#777; cursor:pointer; border-radius:3px; font-family:inherit; font-size:11px; }
.tab-btn.active { background:#003311; border-color:#00aa44; color:#00ee66; }
.tab-content { display:none; }
.tab-content.active { display:block; }

label { font-size:12px; color:#888; cursor:pointer; margin-right:12px; }
input[type=checkbox] { margin-right:4px; accent-color:#00aa44; }

#progressWrap { margin-top:6px; background:#1a1a1a; border-radius:3px; height:4px; width:100%; display:none; }
#progressBar  { background:#00aa44; height:4px; border-radius:3px; width:0%; transition:width 0.3s; }
#crawlLog { max-height:180px; overflow-y:auto; background:#0a0a0a; border:1px solid #1e1e1e; border-radius:4px; padding:8px; font-size:11px; margin-top:8px; display:none; }
.log-ok   { color:#00aa44; }
.log-err  { color:#ff4444; }
.log-info { color:#00aaff; }
.log-warn { color:#ffaa00; }

.dns-table { width:100%; border-collapse:collapse; font-size:12px; margin-top:6px; }
.dns-table td { padding:4px 8px; border-bottom:1px solid #1a1a1a; vertical-align:top; }
.dns-table td:first-child  { color:#00aaff; white-space:nowrap; width:55px; }
.dns-table td:nth-child(2) { color:#555;    white-space:nowrap; width:55px; }

.sec-row { display:flex; align-items:flex-start; gap:8px; padding:5px 0; border-bottom:1px solid #1a1a1a; font-size:12px; }
.sec-icon  { font-size:14px; width:20px; text-align:center; flex-shrink:0; }
.sec-label { flex:1; min-width:200px; }
.sec-val   { color:#555; font-size:11px; word-break:break-all; }

.score-box { display:inline-block; padding:2px 8px; border-radius:3px; font-weight:bold; }
.score-a  { background:#006622; color:#00ff88; }
.score-b  { background:#445500; color:#aadd00; }
.score-c  { background:#554400; color:#ffcc00; }
.score-d  { background:#553300; color:#ff8800; }
.score-f  { background:#550000; color:#ff4444; }

.port-chip { display:inline-flex; flex-direction:column; align-items:center; background:#1a1a1a; border:1px solid #2a2a2a; border-radius:4px; padding:5px 10px; margin:3px; font-size:10px; min-width:65px; }
.port-open     { border-color:#00aa44; }
.port-filtered { border-color:#aa6600; }
.port-num { font-size:13px; font-weight:bold; }
.port-open     .port-num { color:#00ff88; }
.port-filtered .port-num { color:#ffaa00; }

.finding { background:#1a0808; border-left:3px solid #ff4444; padding:4px 10px; margin:3px 0; font-size:12px; }
.finding.warn { background:#1a1200; border-left-color:#ff8800; }
.finding.info { background:#08121a; border-left-color:#0088ff; }
.finding-file { color:#444; font-size:11px; }

/* Third party */
.tp-group  { margin-bottom:10px; }
.tp-domain { background:#0d0d0d; border:1px solid #2a2a2a; padding:4px 10px; margin:2px 0; font-size:12px; display:flex; justify-content:space-between; align-items:center; border-radius:3px; }
.tp-domain:hover { border-color:#444; }

/* Header table */
.hdr-table { width:100%; border-collapse:collapse; font-size:12px; }
.hdr-table td { padding:4px 8px; border-bottom:1px solid #1a1a1a; vertical-align:top; word-break:break-all; }
.hdr-table td:first-child { color:#00aaff; white-space:nowrap; width:220px; }

/* Bookmarklet */
.bookmarklet-box  { background:#0a0a0a; border:1px solid #2a2a2a; border-radius:4px; padding:12px; font-size:12px; }
.bookmarklet-link { display:inline-block; background:#1a1a2a; border:1px dashed #446; padding:6px 14px; border-radius:4px; color:#88aaff; cursor:grab; font-size:12px; text-decoration:none; margin:8px 0; }

/* Export bar */
.export-bar { display:flex; gap:8px; flex-wrap:wrap; padding:10px; background:#0f0f0f; border:1px solid #2a2a2a; border-radius:4px; margin-bottom:14px; align-items:center; }

/* Sensitive highlight */
.sensitive { color:#ff4444; font-weight:bold; }
.scroll-inner { max-height:400px; overflow-y:auto; }

/* Subdomain chips */
.subdomain-chip { display:inline-block; background:#0d0d0d; border:1px solid #2a3a4a; color:#88aaff; padding:3px 8px; margin:2px; border-radius:3px; font-size:11px; }
.subdomain-chip a { color:#88aaff; text-decoration:none; }
.subdomain-chip a:hover { color:#aaccff; }

/* CVE row */
.cve-row { background:#1a0808; border-left:3px solid #ff4444; padding:6px 10px; margin:4px 0; font-size:12px; }
.cve-row .cve-id { color:#ff8888; font-weight:bold; }
.cve-row .cve-sev { float:right; font-size:10px; padding:1px 6px; border-radius:3px; }
.cve-sev.critical { background:#550000; color:#ff4444; }
.cve-sev.high     { background:#552200; color:#ff8844; }
.cve-sev.medium   { background:#554400; color:#ffcc44; }
.cve-sev.low      { background:#445500; color:#aadd44; }

/* WAF chip */
.waf-chip { display:inline-block; background:#0d2a0d; border:1px solid #00aa44; color:#00ff88; padding:3px 10px; margin:4px 4px 4px 0; border-radius:4px; font-size:11px; }
.waf-chip.weak { background:#2a1a0d; border-color:#aa6600; color:#ffaa00; }

/* Image gallery */
.img-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:6px; max-height:360px; overflow-y:auto; padding:4px; background:#070707; border-radius:4px; }
.img-card { background:#0d0d0d; border:1px solid #1f1f1f; border-radius:3px; padding:4px; display:flex; flex-direction:column; align-items:center; font-size:10px; color:#555; }
.img-card img { width:100%; height:90px; object-fit:cover; border-radius:2px; background:#000; }
.img-card .img-meta { margin-top:3px; word-break:break-all; text-align:center; }
