/* Public security tools */
.tool-hero { padding:44px 0 26px; }
.tool-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.tool-tile { display:flex; flex-direction:column; gap:10px; padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow); color:inherit; transition:transform .15s, border-color .15s; }
.tool-tile:hover { transform:translateY(-3px); border-color:rgba(26,111,216,.45); }
.tool-tile i { font-style:normal; width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:linear-gradient(135deg,var(--navy),var(--blue)); color:#fff; font-size:20px; }
.tool-tile h3 { margin:0; font-size:18px; } .tool-tile p { margin:0; color:var(--steel); font-size:14px; flex:1; } .tool-tile small { color:var(--muted); font-size:12px; }
.tool-form { display:flex; gap:10px; margin:0 0 18px; } .tool-form input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=number]) { flex:1; padding:14px 16px; border:1px solid var(--line-2); border-radius:12px; font:inherit; font-size:16px; }
.tool-form textarea { width:100%; padding:14px; border:1px solid var(--line-2); border-radius:12px; font:13px ui-monospace,monospace; min-height:220px; }
.tool-privacy { display:flex; gap:8px; align-items:flex-start; font-size:13px; color:var(--steel); background:#e9fbf1; border:1px solid #c8efd9; border-radius:10px; padding:10px 14px; margin-bottom:18px; }
.tool-privacy b { color:#087443; }
.tv { padding:20px 22px; border-radius:16px; border:1px solid var(--line); background:#fff; margin-bottom:16px; }
.tv-badge { display:inline-block; font-weight:800; font-size:13px; letter-spacing:.06em; text-transform:uppercase; padding:6px 12px; border-radius:999px; margin-bottom:8px; }
.tv p { margin:0; color:var(--steel); } .tv-tip { margin-top:10px !important; font-size:13.5px; padding-top:10px; border-top:1px dashed var(--line); }
.tv-danger { border-color:#f3b9b9; background:#fff5f5; } .tv-danger .tv-badge { background:#b42318; color:#fff; }
.tv-warn { border-color:#f4d9a3; background:#fffaf0; } .tv-warn .tv-badge { background:#b54708; color:#fff; }
.tv-ok { border-color:#c8efd9; background:#f4fbf7; } .tv-ok .tv-badge { background:#087443; color:#fff; }
.tv-muted .tv-badge { background:var(--bg-3); color:var(--steel); }
.tf { display:grid; grid-template-columns:14px 1fr; gap:12px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:#fff; margin-bottom:8px; font-size:14px; color:var(--steel); } .tf strong { color:var(--ink); display:block; margin-bottom:2px; }
.tf-dot { width:12px; height:12px; border-radius:50%; margin-top:4px; background:var(--muted); } .tf-danger .tf-dot { background:#b42318; } .tf-warn .tf-dot { background:#e39400; } .tf-info .tf-dot { background:var(--blue); } .tf-ok .tf-dot { background:#16a34a; }
.tool-table { width:100%; border-collapse:collapse; font-size:14px; background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; margin:0 0 14px; } .tool-table th { text-align:left; width:220px; padding:10px 14px; background:var(--bg-2); color:var(--ink); font-weight:700; vertical-align:top; border-bottom:1px solid var(--line); } .tool-table td { padding:10px 14px; border-bottom:1px solid var(--line); color:var(--steel); overflow-wrap:anywhere; } .tool-table tr:last-child th,.tool-table tr:last-child td { border-bottom:0; }
.src-badge { display:inline-block; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:3px 9px; border-radius:999px; margin-right:6px; } .src-ok { background:#e9fbf1; color:#087443; } .src-danger { background:#b42318; color:#fff; } .src-muted { background:var(--bg-3); color:var(--muted); } .src-fail,.src-softfail { background:#fdecec; color:#b42318; }
.hash { font-family:ui-monospace,monospace; font-size:12px; background:var(--bg-2); padding:2px 6px; border-radius:6px; }
.muted { color:var(--muted); font-size:13px; }
.url-parts { display:flex; gap:14px; flex-wrap:wrap; font-size:13px; color:var(--steel); margin:0 0 14px; } .url-parts b { color:var(--ink); }
.drop-zone { display:block; border:2px dashed var(--line-2); border-radius:18px; padding:40px 20px; text-align:center; background:#fff; cursor:pointer; transition:border-color .15s, background .15s; } .drop-zone.over,.drop-zone:hover { border-color:var(--blue); background:#f4f8ff; } .drop-zone input { display:none; } .drop-zone strong { display:block; font-size:17px; color:var(--ink); margin-bottom:4px; } .drop-zone .muted { display:block; }
.pw-meter { height:10px; border-radius:99px; background:var(--bg-3); overflow:hidden; margin:12px 0 6px; } .pw-meter::after { content:""; display:block; height:100%; width:var(--w,0%); border-radius:99px; transition:width .25s; background:#b42318; } .pw-meter[data-score="2"]::after { background:#e39400; } .pw-meter[data-score="3"]::after { background:#16a34a; } .pw-meter[data-score="4"]::after { background:#087443; }
.tool-sources { font-size:13px; color:var(--muted); border-top:1px solid var(--line); padding-top:14px; margin-top:24px; } .tool-sources a { color:var(--steel); }
.tool-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:28px; align-items:start; }
@media (max-width:980px) { .tool-grid { grid-template-columns:1fr 1fr; } .tool-layout { grid-template-columns:1fr; } }
@media (max-width:640px) { .tool-grid { grid-template-columns:1fr; } .tool-form { flex-direction:column; } .tool-table th { width:120px; } }


.tool-note { font-size:13px; color:var(--muted); border-top:1px solid var(--line); padding-top:14px; margin-top:24px; } .tool-note a { color:var(--steel); }
.dc-buttons { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.dc-result { background:var(--navy); color:#dbe5f6; padding:14px; border-radius:12px; overflow:auto; white-space:pre-wrap; word-break:break-all; font-size:13px; max-height:360px; margin:0 0 12px; }
.ioc-list { display:grid; gap:6px; } .ioc { display:flex; gap:10px; align-items:center; font-size:13.5px; padding:8px 10px; border:1px solid var(--line); border-radius:10px; background:#fff; } .ioc code { font-size:12.5px; overflow-wrap:anywhere; } .ioc .res-type { margin:0; }
.pw-gen { border-top:1px solid var(--line); margin-top:24px; } .pw-gen-row { display:flex; flex-wrap:wrap; gap:14px; align-items:center; font-size:13.5px; color:var(--steel); } .pw-gen-row select, .pw-gen-row input[type=number] { margin-left:4px; padding:5px 8px; border:1px solid var(--line-2); border-radius:8px; font:inherit; }
.pw-gen-out { display:flex; gap:10px; align-items:center; margin:12px 0 6px; } .pw-gen-out code { flex:1; font-size:18px; padding:12px 14px; background:var(--bg-2); border-radius:10px; overflow-wrap:anywhere; min-height:46px; }
.me-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; } .me-card { padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#fff; } .me-card h3 { margin:0 0 8px; font-size:14px; color:var(--muted); font-weight:700; letter-spacing:.04em; text-transform:uppercase; } .me-card .big { font-size:22px; font-weight:800; color:var(--ink); overflow-wrap:anywhere; } .me-card dl { margin:8px 0 0; display:grid; grid-template-columns:auto 1fr; gap:4px 12px; font-size:13.5px; } .me-card dt { color:var(--muted); } .me-card dd { margin:0; color:var(--ink); overflow-wrap:anywhere; }
.dm-section { margin:0 0 18px; } .dm-section h3 { font-size:15px; margin:0 0 8px; display:flex; align-items:center; gap:10px; }
.breach { display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; padding:14px; border:1px solid var(--line); border-radius:12px; background:#fff; margin-bottom:8px; } .breach-date { font-family:ui-monospace,monospace; font-size:12.5px; color:var(--muted); white-space:nowrap; padding-top:3px; } .breach h4 { margin:0 0 4px; font-size:15px; } .breach p { margin:0 0 6px; font-size:13.5px; color:var(--steel); } .breach .data { display:flex; flex-wrap:wrap; gap:5px; } .breach .data span { font-size:11.5px; padding:2px 8px; border-radius:999px; background:var(--bg-2); color:var(--steel); } .breach .data span.hot { background:#fdecec; color:#b42318; }
@media (max-width:900px) { .cat { grid-template-columns:1fr; gap:10px; } .about-tools { grid-template-columns:1fr; } .me-grid { grid-template-columns:1fr; } .cat-list li { grid-template-columns:1fr; } .cat-since { display:none; } }

.tool-finder { margin:16px 0 0; max-width:560px; }
.tool-about { border-top:1px solid var(--line); margin-top:28px; padding-top:20px; } .tool-about h2 { font-size:19px; margin:0 0 12px; } .tool-about h2 + .tool-faq, .tool-about .tool-faq { margin-bottom:4px; }
.tool-steps { margin:0 0 24px; padding:0; list-style:none; counter-reset:step; display:grid; gap:10px; } .tool-steps li { counter-increment:step; display:grid; grid-template-columns:30px 1fr; gap:12px; } .tool-steps li::before { content:counter(step); width:26px; height:26px; border-radius:8px; background:var(--navy); color:#fff; font-weight:800; font-size:12.5px; display:grid; place-items:center; margin-top:2px; } .tool-steps strong { display:block; color:var(--ink); font-size:15px; grid-column:2; } .tool-steps p { margin:2px 0 0; color:var(--steel); font-size:14px; grid-column:2; }

/* ===== Tools hub v2 ===== */
.thero { background:radial-gradient(900px 420px at 85% -10%,rgba(26,111,216,.28),transparent 60%),radial-gradient(600px 300px at 0% 100%,rgba(34,197,94,.14),transparent 60%),linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%); color:#dbe5f6; padding:28px 0 44px; }
.crumbs-light a, .crumbs-light span, .crumbs-light .sep { color:#9fb0cb; } .crumbs-light a:hover { color:#fff; }
.thero-grid { display:grid; grid-template-columns:minmax(0,1.3fr) 340px; gap:40px; align-items:center; margin-top:18px; }
.thero-kicker { display:inline-block; font-size:11.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#7ac3ff; margin-bottom:12px; }
.thero h1 { color:#fff; font-size:clamp(32px,4.6vw,52px); line-height:1.06; letter-spacing:-.03em; margin:0 0 14px; } .thero p { font-size:17px; color:#b6c7e0; max-width:58ch; margin:0 0 22px; }
.thero-search { position:relative; max-width:640px; } .thero-search svg { position:absolute; left:16px; top:50%; width:20px; height:20px; transform:translateY(-50%); color:var(--muted); }
.thero-search input { width:100%; padding:16px 18px 16px 48px; border-radius:14px; border:1px solid rgba(255,255,255,.18); background:#fff; color:var(--ink); font:inherit; font-size:16px; box-shadow:0 10px 40px rgba(0,0,0,.25); } .thero-search input:focus { outline:3px solid rgba(122,195,255,.6); outline-offset:1px; }
.thero-quick { margin-top:12px; font-size:13.5px; color:#9fb0cb; } .thero-quick a { display:inline-block; margin:0 4px 4px 0; padding:4px 11px; border-radius:999px; border:1px solid rgba(255,255,255,.18); color:#fff; } .thero-quick a:hover { background:rgba(255,255,255,.12); }
.thero-facts { list-style:none; margin:0; padding:0; display:grid; gap:10px; } .thero-facts li { padding:14px 16px; border-radius:14px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); font-size:13.5px; color:#b6c7e0; } .thero-facts strong { display:block; color:#fff; margin-bottom:2px; font-size:14px; }
.tools-catalogue { padding:12px 0 40px; }
.tgroup { padding:34px 0 10px; } .tgroup-head { display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:16px; } .tgroup-head h2 { margin:0; font-size:22px; letter-spacing:-.01em; } .tgroup-head p { margin:0; color:var(--muted); font-size:14px; }
.tgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.tcard { position:relative; display:flex; flex-direction:column; gap:4px; padding:22px 22px 18px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow); color:inherit; transition:transform .16s, box-shadow .16s, border-color .16s; min-height:196px; }
.tcard:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:rgba(26,111,216,.4); }
.tcard-icon { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:linear-gradient(135deg,#eaf4ff,#f1fbf5); color:var(--blue); margin-bottom:10px; } .tcard-icon svg { width:22px; height:22px; }
#accounts .tcard-icon { background:linear-gradient(135deg,#f1e9ff,#eaf4ff); color:#5b21b6; } #teams .tcard-icon { background:linear-gradient(135deg,#e9fbf1,#eaf4ff); color:var(--green-2); }
.tcard-q { font-size:17px; font-weight:800; color:var(--ink); line-height:1.25; letter-spacing:-.01em; } .tcard-n { font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); } .tcard-d { font-size:14px; color:var(--steel); margin-top:4px; flex:1; }
.tcard-go { margin-top:12px; display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:700; color:var(--blue); } .tcard:hover .tcard-go { gap:10px; }
.tcard-tag { position:absolute; top:14px; right:14px; font-size:10.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:3px 9px; border-radius:999px; background:#e9fbf1; color:#087443; }
.tabout { border-top:1px solid var(--line); margin-top:30px; padding-top:36px; } .tabout-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; } .tabout h2 { font-size:19px; margin:0 0 10px; } .tabout p, .tabout li { color:var(--steel); font-size:15px; line-height:1.65; } .tabout ul { margin:0; padding-left:20px; } .tabout li { margin-bottom:8px; }
.changelog { border-top:1px solid var(--line); padding-top:22px; margin-top:26px; } .changelog h2 { font-size:15px; margin:0 0 10px; } .changelog dl { display:grid; grid-template-columns:110px 1fr; gap:6px 16px; margin:0 0 10px; font-size:14px; } .changelog dt { color:var(--muted); font-family:ui-monospace,monospace; font-size:12.5px; } .changelog dd { margin:0; color:var(--steel); } .changelog p { font-size:13.5px; color:var(--muted); margin:0; }
/* tool pages: header */
.tool-hero { padding:36px 0 26px; } .tool-hero .crumbs { margin-bottom:10px; } .tool-hero h1 { font-size:clamp(28px,3.8vw,42px); letter-spacing:-.025em; margin:0 0 10px; }
@media (max-width:980px) { .thero-grid { grid-template-columns:1fr; } .thero-side { display:none; } .tgrid { grid-template-columns:1fr 1fr; } .tabout-grid { grid-template-columns:1fr; } }
@media (max-width:600px) { .tgrid { grid-template-columns:1fr; } .thero { padding-bottom:32px; } .tcard { min-height:0; } }

/* ── Community reports (shown under tool results) ── */
.community-box { display:grid; gap:8px; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:var(--bg-2); margin:0 0 16px; font-size:14px; color:var(--body); }
.community-k { font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.community-warn { border-color:#f4d9a3; background:#fffaf0; } .community-danger { border-color:#f3b9b9; background:#fff5f5; }
.community-box blockquote { margin:2px 0; padding:8px 12px; border-left:3px solid var(--line-2); background:#fff; border-radius:0 8px 8px 0; font-size:13.5px; } .community-box cite { display:block; font-style:normal; font-size:12px; color:var(--muted); margin-top:3px; }
.community-report { font-weight:700; color:var(--blue); font-size:13.5px; }

/* ── Report page ── */
.report-strip { display:flex; gap:22px; flex-wrap:wrap; padding:12px 16px; border:1px solid var(--line); border-radius:12px; background:#fff; margin:0 0 26px; font-size:13.5px; color:var(--steel); } .report-strip b { color:var(--ink); font-size:16px; margin-right:4px; }
.report-h2 { font-size:20px; margin:0 0 6px; } .report-p { margin:0 0 12px; color:var(--steel); font-size:14.5px; }
.report-lookup select { padding:0 12px; border:1px solid var(--line-2); border-radius:12px; font:inherit; font-size:14px; background:#fff; color:var(--ink); } .report-lookup { align-items:stretch; }
#lookupOut { margin-bottom:28px; }
.report-form { border:1px solid var(--line); border-radius:16px; padding:22px; background:#fff; } .report-form select, .report-form input, .report-form textarea { width:100%; padding:10px 13px; border:1px solid var(--line-2); border-radius:10px; font:inherit; font-size:14.5px; background:#fff; color:var(--ink); }
.report-form .form-field { display:grid; gap:5px; margin-bottom:14px; } .report-form label { font-weight:600; color:var(--ink); font-size:13.5px; } .field-help { font-size:12.5px; color:var(--muted); }
.report-two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.report-consent { display:grid; grid-template-columns:18px 1fr; gap:10px; font-size:13.5px; color:var(--body); margin:4px 0 14px; align-items:start; } .report-consent input { width:18px; height:18px; margin-top:2px; }
.report-actions { display:flex; gap:14px; align-items:center; flex-wrap:wrap; } .report-actions .muted { font-size:12.5px; }
.tool-faq dt { font-weight:700; color:var(--ink); margin-top:12px; } .tool-faq dd { margin:4px 0 0; color:var(--steel); font-size:14.5px; }
@media (max-width:640px) { .report-two { grid-template-columns:1fr; } .report-lookup { flex-direction:column; } .report-lookup select { padding:12px; } }

/* ── Reports admin ── */
.rep-table { min-width:1100px; } .rep-desc { max-width:420px; } .rep-text { white-space:pre-wrap; font-size:13px; margin:6px 0 4px; max-height:120px; overflow:auto; }
.rep-cat, .rep-status { width:100%; padding:6px 8px; border:1px solid var(--line-2); border-radius:8px; font:inherit; font-size:12.5px; } .rep-notes { width:160px; padding:6px 8px; border:1px solid var(--line-2); border-radius:8px; font:inherit; font-size:12.5px; }
.rep-same { color:#b54708; font-weight:700; } tr.saved td { background:#f4fbf7; transition:background .4s; } .rep-table details pre { white-space:pre-wrap; font-size:12px; margin:4px 0 0; }
.treport { margin-top:34px; } .treport-box { display:flex; gap:24px; align-items:center; justify-content:space-between; flex-wrap:wrap; padding:26px 28px; border-radius:18px; background:linear-gradient(135deg,#0A1628,#112040); color:#fff; } .treport-box h2 { margin:0 0 6px; font-size:21px; color:#fff; } .treport-box p { margin:0; color:#b6c7e0; max-width:66ch; font-size:14.5px; } .treport-box .btn { flex-shrink:0; }

/* ── Public usage numbers ── */
.tool-usage { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:12px 0 0; font-size:13.5px; color:var(--steel); } .tool-usage b { color:var(--ink); } .tool-usage a { color:var(--blue); font-weight:600; }
.tool-usage-dot { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 3px rgba(34,197,94,.18); }
.tcard-use { margin-top:10px; font-size:12.5px; font-weight:600; color:var(--steel); }
.tusage { padding:30px 0 0; }
.tusage-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:32px; padding:24px 26px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.tusage h2 { font-size:15px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin:0 0 14px; } .tusage h3 { font-size:15px; margin:0 0 12px; color:var(--ink); }
.tusage dl { display:grid; grid-template-columns:repeat(3,auto); gap:6px 28px; margin:0; justify-content:start; } .tusage dl div { display:grid; gap:2px; } .tusage dt { font-size:12.5px; color:var(--muted); order:2; } .tusage dd { margin:0; font-size:34px; font-weight:800; letter-spacing:-.02em; color:var(--ink); line-height:1.05; font-variant-numeric:tabular-nums; }
.tusage-note { margin:16px 0 0; font-size:13px; color:var(--steel); max-width:52ch; }
.ubar { display:grid; grid-template-columns:170px 1fr 56px; gap:12px; align-items:center; padding:5px 0; color:inherit; font-size:13.5px; } .ubar:hover .ubar-l { color:var(--blue); }
.ubar-l { color:var(--ink); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .ubar-track { height:10px; border-radius:99px; background:var(--bg-2); overflow:hidden; } .ubar-track i { display:block; height:100%; border-radius:99px; background:var(--blue); }
.ubar-v { text-align:right; font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
@media (max-width:860px) { .tusage-grid { grid-template-columns:1fr; } .tusage dl { grid-template-columns:repeat(3,1fr); gap:6px 14px; } .tusage dd { font-size:26px; } .ubar { grid-template-columns:120px 1fr 44px; } }
.tool-usage { display:block; } .tool-usage-dot { display:inline-block; vertical-align:middle; margin:-2px 8px 0 2px; }
@media (max-width:860px) { .ubar { grid-template-columns:1fr auto; row-gap:4px; } .ubar-track { grid-column:1 / -1; grid-row:2; } .ubar-l { white-space:normal; } }
.community-note { font-size:12.5px; color:var(--muted); } .community-links { display:flex; gap:16px; flex-wrap:wrap; align-items:center; font-size:13px; } .community-links a:not(.community-report) { color:var(--steel); text-decoration:underline; }
.report-dispute { margin:34px 0 10px; padding-top:26px; border-top:1px solid var(--line); }
