/* Free-tool page styles. Moved out of inline <style> blocks, which the site's CSP (style-src 'self') blocks. */

/* from tools/email-security-checker/_styles.blade.php */
.esc-form label{flex-basis:100%;color:var(--muted);font-size:.9rem}
.esc-form .esc-sel{flex:0 1 220px;min-width:min(100%,180px)}
.esc-status{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:1rem 0}
.esc-status .sw-card{padding:.7rem .8rem}
.esc-status strong{display:block;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.esc-status span{font-weight:700}
.esc-ok{color:var(--clean)}.esc-warn{color:var(--suspicious)}.esc-bad{color:var(--infected)}.esc-unk{color:var(--muted)}
.esc-rec{background:#070b10;border:1px solid var(--border);border-radius:10px;padding:.7rem .9rem;font-family:var(--mono);font-size:.9rem;overflow-wrap:anywhere;white-space:pre-wrap;margin:.4rem 0}
.esc-section{margin-top:1.6rem}
.esc-tree{font-family:var(--mono);font-size:.85rem;overflow-wrap:anywhere}
.esc-tree div{padding:.2rem 0;border-bottom:1px solid var(--border)}
.esc-small{color:var(--muted);font-size:.9rem}
.esc-steps li{margin:.6rem 0}
.esc-steps li.esc-next{border-left:3px solid var(--accent);padding-left:.6rem}
.sw-table{table-layout:fixed}.sw-table td{overflow-wrap:anywhere}
@media (max-width:700px){.esc-status{grid-template-columns:repeat(2,1fr)}}

/* from tools/plugins/_style.blade.php */
.pl-search{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}
.pl-search input[type=search],.pl-search input[type=text]{flex:1 1 16rem;min-width:0}
.pl-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem;margin:1rem 0}
.pl-facts div{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.7rem .8rem}
.pl-facts dt{color:var(--muted);font-size:.8rem;margin:0}
.pl-facts dd{margin:.15rem 0 0;font-weight:650;overflow-wrap:anywhere}
.pl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pl-vuln h3{margin:.35rem 0 .3rem;font-size:1.05rem}
.pl-vuln dl{display:grid;grid-template-columns:max-content 1fr;gap:.2rem .8rem;margin:.6rem 0;font-size:.92rem}
.pl-vuln dt{color:var(--muted)}
.pl-vuln dd{margin:0;overflow-wrap:anywhere}
.pl-vuln .pl-refs a{margin-right:.8rem;white-space:nowrap}
.pl-vuln details{color:var(--muted);font-size:.92rem}
.pl-todo{border-left:3px solid var(--accent)}
.pl-todo ol{margin:.4rem 0 0;padding-left:1.2rem}
.pl-small{color:var(--muted);font-size:.88rem}
.pl-tag{font-family:var(--mono);font-size:.75rem;color:var(--muted)}
@media (max-width:560px){.pl-vuln dl{grid-template-columns:1fr}.pl-vuln dt{margin-top:.3rem}}

/* from tools/ssl-checker/_styles.blade.php */
.ssl-days { display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap; margin: .2rem 0 .6rem; }
.ssl-days strong { font-size: clamp(2.6rem, 9vw, 4rem); line-height: 1; font-family: var(--mono); }
.ssl-days.good strong { color: var(--clean); }
.ssl-days.warn strong { color: var(--suspicious); }
.ssl-days.bad strong { color: var(--infected); }
.ssl-items { list-style: none; padding: 0; margin: 1rem 0; }
.ssl-items li { border-bottom: 1px solid var(--border); padding: .8rem 0; }
.ssl-items .ssl-head { display: flex; gap: .5rem; align-items: baseline; flex-wrap: wrap; }
.ssl-items .ssl-label { font-weight: 600; }
.ssl-items .ssl-value { font-family: var(--mono); font-size: .9rem; overflow-wrap: anywhere; }
.ssl-items p { margin: .3rem 0 0; }
.ssl-todo { color: var(--muted); }
.ssl-todo strong { color: var(--text); }
.ssl-facts { overflow-x: auto; }
.ssl-facts td, .ssl-facts th { overflow-wrap: anywhere; }
.ssl-badge-preview { margin: .5rem 0; max-width: 100%; height: auto; }

/* from tools/website-blacklist-checker/_styles.blade.php */
.wbc-form { display:flex; flex-wrap:wrap; gap:.6rem; margin:1rem 0 .4rem; }
.wbc-form input[type=text] { flex:1 1 16rem; min-width:0; }
.wbc-small { color: var(--muted); font-size: .88rem; }
.wbc-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.wbc-table td.wbc-links { white-space: nowrap; }
.wbc-result h2 { margin-top: 1.8rem; }
@media (max-width: 640px) {
  .wbc-table thead { display:none; }
  .wbc-table, .wbc-table tbody, .wbc-table tr, .wbc-table td { display:block; width:100%; }
  .wbc-table tr { border-bottom:1px solid var(--border); padding:.4rem 0; }
  .wbc-table td { border:0; padding:.15rem 0; }
  .wbc-table td.wbc-links { white-space: normal; }
}

/* from tools/security-headers-checker/page.blade.php */
.shc-grade { display:flex; gap:1.2rem; align-items:center; flex-wrap:wrap; }
.shc-letter { font-size:3.2rem; font-weight:800; line-height:1; min-width:4.5rem; height:4.5rem; display:flex; align-items:center; justify-content:center; border-radius:14px; color:#fff; }
.shc-check { border-top:1px solid var(--border); padding:.9rem 0; }
.shc-check h3 { margin:.2rem 0; font-size:1.05rem; }
.shc-check p { margin:.3rem 0; }
.shc-val { display:block; overflow-wrap:anywhere; white-space:pre-line; color:var(--muted); font-size:.85rem; }
.shc-tabs { margin-top:1rem; }
.shc-tabs > input { position:absolute; opacity:0; pointer-events:none; }
.shc-tabs > label { display:inline-block; padding:.45rem .9rem; border:1px solid var(--border); border-bottom:0; border-radius:10px 10px 0 0; cursor:pointer; color:var(--muted); margin-right:.2rem; }
.shc-tabs > input:checked + label { color:var(--text); background:#070b10; }
.shc-tabs > input:focus-visible + label { outline:2px solid var(--accent); }
.shc-panel { display:none; border:1px solid var(--border); border-radius:0 10px 10px 10px; padding:1rem; background:#070b10; }
#shc-t-nginx:checked ~ #shc-p-nginx, #shc-t-apache:checked ~ #shc-p-apache, #shc-t-wordpress:checked ~ #shc-p-wordpress, #shc-t-cloudflare:checked ~ #shc-p-cloudflare { display:block; }
.shc-panel pre { overflow:auto; white-space:pre; background:#03060a; padding:.8rem; border-radius:8px; font-size:.82rem; margin:.6rem 0; }
.shc-warn { border-left:3px solid var(--suspicious); padding:.4rem .8rem; background:#2a210f; border-radius:6px; }
.shc-table-wrap { overflow-x:auto; }
@media (max-width:600px) { .shc-letter { font-size:2.4rem; min-width:3.6rem; height:3.6rem; } .shc-tabs > label { padding:.4rem .55rem; font-size:.9rem; } }
