/* Coverage Lab v0.2.5 extended tools */
.tool-search-wrap { margin-bottom:12px; }
.tool-search { width:100%; min-height:48px; padding:12px 14px; border-radius:15px; border:1px solid var(--line); background:#151824; color:var(--text); outline:none; }
.tool-search:focus { border-color:rgba(80,197,210,.65); box-shadow:0 0 0 3px rgba(80,197,210,.12); }
.tool-category { margin:10px 0; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:rgba(25,28,40,.72); }
.tool-category > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:11px; min-height:58px; padding:12px 15px; background:rgba(255,255,255,.025); }
.tool-category > summary::-webkit-details-marker { display:none; }
.tool-category > summary > span:first-child { width:28px; text-align:center; color:#8edce4; font-weight:900; }
.tool-category > summary div { min-width:0; flex:1; }
.tool-category > summary strong { display:block; font-size:15px; }
.tool-category > summary small { display:block; margin-top:2px; color:var(--muted); font-size:10px; }
.tool-category > summary::after { content:'⌄'; color:var(--muted); transition:.18s transform; }
.tool-category[open] > summary::after { transform:rotate(180deg); }
.quick-tools-wrap { padding:12px; border-top:1px solid var(--line); }
.tool-list { display:grid; padding:5px 12px 12px; }
.tool-list-item { appearance:none; border:0; border-top:1px solid rgba(255,255,255,.055); background:transparent; color:inherit; display:grid; grid-template-columns:36px minmax(0,1fr) 20px; gap:9px; align-items:center; text-align:left; padding:12px 4px; cursor:pointer; }
.tool-list-item:first-child { border-top:0; }
.tool-list-item:hover, .tool-list-item:focus-visible { background:rgba(255,255,255,.045); border-radius:12px; outline:none; }
.tool-list-item.hidden-by-search { display:none; }
.tool-list-item .tool-icon { width:32px; min-height:32px; display:flex; align-items:center; justify-content:center; color:#d9e4ee; font-size:17px; font-weight:900; }
.tool-list-item strong { display:block; font-size:15px; font-weight:800; }
.tool-list-item small { display:block; color:var(--muted); font-size:11px; line-height:1.35; margin-top:2px; overflow:hidden; text-overflow:ellipsis; }
.tool-list-item b { color:#7c8498; font-size:22px; font-weight:400; }
.advanced-tool-workspace { min-height:50vh; }
.advanced-tool-head { display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.advanced-tool-head h2 { margin:2px 0 0; font-size:28px; }
.advanced-tool-head .secondary-button { flex:0 0 auto; }
.tool-card { border:1px solid var(--line); background:linear-gradient(180deg,rgba(37,40,58,.92),rgba(25,27,39,.96)); border-radius:18px; padding:16px; margin-bottom:12px; }
.tool-card h3 { margin:0 0 10px; }
.tool-card p { color:var(--muted); line-height:1.45; font-size:12px; }
.tool-card label { display:block; font-weight:800; margin:10px 0; }
.tool-card input:not([type=checkbox]):not([type=radio]):not([type=color]), .tool-card textarea, .tool-card select { width:100%; margin-top:6px; padding:11px 12px; border-radius:11px; border:1px solid var(--line); background:#10131c; color:white; outline:none; }
.tool-card textarea { min-height:130px; resize:vertical; font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.tool-card input[type=color] { width:54px; height:42px; padding:2px; border:1px solid var(--line); border-radius:10px; background:#10131c; }
.tool-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.tool-grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.tool-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:11px; }
.tool-output { margin-top:12px; border:1px solid var(--line); background:#0b0d13; border-radius:14px; padding:13px; color:#d8e5ef; min-height:68px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.tool-output.rich { font-family:inherit; white-space:normal; }
.tool-output:empty::before { content:'Ready.'; color:#70798f; }
.tool-table-wrap { overflow:auto; border:1px solid var(--line); border-radius:12px; margin-top:10px; }
.tool-table { width:100%; border-collapse:collapse; min-width:520px; font-size:11px; }
.tool-table th,.tool-table td { padding:8px 9px; text-align:left; border-bottom:1px solid rgba(255,255,255,.06); vertical-align:top; }
.tool-table th { position:sticky; top:0; background:#202335; color:#b9c8dd; }
.tool-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:10px 0; }
.tool-kpi { padding:10px; border-radius:12px; border:1px solid var(--line); background:rgba(255,255,255,.035); }
.tool-kpi span { display:block; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.tool-kpi strong { display:block; margin-top:3px; font-size:18px; }
.status-good { color:#86efac; }.status-warn { color:#fde68a; }.status-bad { color:#fca5a5; }
.code-inline { padding:2px 6px; border-radius:6px; background:#0e111a; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.copy-value { word-break:break-all; }
.diff-view { font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; white-space:pre-wrap; }
.diff-line { display:block; padding:2px 7px; border-radius:4px; }
.diff-add { background:rgba(34,197,94,.12); color:#bbf7d0; }.diff-del { background:rgba(239,68,68,.12); color:#fecaca; }.diff-same { color:#aeb8ca; }
.regex-highlight { white-space:pre-wrap; overflow-wrap:anywhere; padding:12px; background:#0b0d13; border-radius:12px; border:1px solid var(--line); }
.regex-hit { background:#854d0e; color:#fef3c7; border-radius:3px; }
.contrast-preview { min-height:100px; display:flex; align-items:center; justify-content:center; border-radius:14px; font-size:24px; font-weight:900; border:1px solid var(--line); margin:10px 0; }
.password-output { font-size:18px; font-weight:800; letter-spacing:.02em; word-break:break-all; }
.progress-mini { height:8px; background:#262a3b; border-radius:999px; overflow:hidden; }
.progress-mini > div { height:100%; background:linear-gradient(90deg,#ef4444,#f59e0b,#84cc16,#22c55e); }
.cron-runs { display:grid; gap:6px; margin-top:10px; }
.cron-run { display:flex; justify-content:space-between; gap:10px; padding:8px 10px; border-radius:10px; background:rgba(255,255,255,.035); font-size:11px; }
.jwt-part { margin:8px 0; padding:10px; border:1px solid var(--line); border-radius:12px; background:#10131c; }
.jwt-part strong { display:block; margin-bottom:5px; }
.paint-shell { display:grid; gap:10px; }
.paint-toolbar { display:flex; flex-wrap:wrap; gap:7px; align-items:end; }
.paint-toolbar label { margin:0; min-width:90px; flex:1; }
.paint-toolbar .compact { max-width:130px; }
.paint-canvas-wrap { overflow:auto; border:1px solid var(--line); border-radius:14px; background:#20232f; padding:8px; touch-action:none; }
#paintCanvas { display:block; width:100%; max-width:900px; height:auto; background:white; border-radius:6px; touch-action:none; }
.paint-layers { display:grid; gap:5px; margin-top:8px; }
.paint-layer { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; gap:6px; align-items:center; padding:7px 8px; border-radius:9px; background:rgba(255,255,255,.035); }
.paint-layer.active { outline:1px solid #50c5d2; background:rgba(80,197,210,.08); }
.webhook-event,.sync-item { margin:8px 0; padding:10px; border-radius:11px; background:rgba(255,255,255,.035); border:1px solid var(--line); }
.webhook-event h4,.sync-item h4 { margin:0 0 5px; }
.webhook-event pre { max-height:220px; overflow:auto; white-space:pre-wrap; font-size:10px; }
.ws-log { height:220px; overflow:auto; }
.totp-code { font:900 38px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.12em; text-align:center; padding:18px; border-radius:14px; background:#0b0d13; border:1px solid var(--line); }
.uuid-list { max-height:320px; overflow:auto; }
.tool-note { color:var(--muted); font-size:11px; line-height:1.45; margin-top:8px; }
@media (max-width:660px) {
  .tool-grid-2,.tool-grid-3 { grid-template-columns:1fr; }
  .tool-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tool-list-item { grid-template-columns:32px minmax(0,1fr) 16px; padding:12px 1px; }
  .tool-list-item small { white-space:normal; }
  .advanced-tool-head { align-items:flex-start; }
  .paint-toolbar label { min-width:calc(50% - 5px); }
}


/* Coverage Lab v0.3.1 organized utility directory */
.tool-directory-hero {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.75fr); gap:14px; align-items:end;
  margin-bottom:14px; padding:16px; border:1px solid var(--line); border-radius:18px;
  background:linear-gradient(135deg,rgba(31,41,55,.95),rgba(22,25,38,.96));
}
.tool-directory-hero strong { display:block; font-size:19px; margin:3px 0; }
.tool-directory-hero small { display:block; color:var(--muted); line-height:1.45; max-width:720px; }
.tool-directory-hero .tool-search-wrap { margin:0; }
.tool-category { box-shadow:0 6px 22px rgba(0,0,0,.12); }
.tool-category > summary { min-height:64px; }
.tool-category:not([open]) > summary:hover { background:rgba(80,197,210,.055); }
.tool-category[open] > summary { background:rgba(80,197,210,.06); }
.tool-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:10px 12px 14px; border-top:1px solid var(--line); }
.tool-list-item { border:1px solid rgba(255,255,255,.065); border-radius:13px; background:rgba(255,255,255,.025); padding:11px 9px; }
.tool-list-item:first-child { border-top:1px solid rgba(255,255,255,.065); }
.tool-list-item:hover, .tool-list-item:focus-visible { background:rgba(80,197,210,.08); border-color:rgba(80,197,210,.26); }
@media (max-width:820px) {
  .tool-directory-hero { grid-template-columns:1fr; }
  .tool-list { grid-template-columns:1fr; }
}
.tool-category.hidden-by-search { display:none; }
