.tool-card{border:1px solid var(--stroke);border-radius:18px;background:var(--card);padding:24px;margin:20px 0 32px}
.tool-fields{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0}
.tool-fields label{display:grid;gap:6px;flex:1;min-width:180px;color:var(--text);font-weight:600}
.tool-fields input,.tool-fields select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--stroke);border-radius:10px;background:var(--bg2);color:var(--text);font:inherit}
.tool-fields select option{background:var(--bg2);color:var(--text)}
.tool-total{text-align:center;margin:20px 0 12px}
.tool-total output{display:block;font-size:3.5rem;font-weight:800;color:var(--gold2);line-height:1.3}
.tool-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:16px 0}
.tool-actions button,.names-clear{min-height:46px;padding:10px 20px;border:1px solid var(--stroke);border-radius:10px;background:var(--bg2);color:var(--text);font:inherit;cursor:pointer}
.tool-actions .tool-tap{width:100%;min-height:76px;font-size:1.2rem;font-weight:800;background:#176348;border-color:#2fb886;color:#fff}
.tool-state{min-height:1.7em;text-align:center;color:var(--muted);font-size:.94rem}
.tool-card button:disabled{opacity:.55;cursor:default}
.tool-card button:focus-visible,.tool-card input:focus-visible,.tool-card select:focus-visible,.names-search:focus-visible,.names-clear:focus-visible{outline:3px solid var(--gold2);outline-offset:3px}
.names-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0}
.names-controls label{display:grid;gap:6px;flex:1;min-width:180px}
.names-search{min-height:46px;border:1px solid var(--stroke);border-radius:10px;padding:10px 12px;background:var(--bg2);color:var(--text);font:inherit;width:100%}
.names-status{color:var(--muted);margin-bottom:12px}
.names-table caption{text-align:start;color:var(--gold2);font-weight:700;margin-bottom:10px}
.names-table [hidden]{display:none}
@media(max-width:560px){.tool-card{padding:18px}.tool-total output{font-size:3rem}.tool-fields label{min-width:0;width:100%;flex-basis:100%}}
