.tool-shell { display:grid; gap:1.4rem; }
.tool-panel { border:1px solid #d8dfd8; border-radius:14px; padding:1.25rem; background:#fff; }
.tool-panel h2 { margin-top:0; }
.tool-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); gap:1rem; }
.tool-field { display:grid; gap:.4rem; font-weight:700; }
.tool-field input,.tool-field select,.tool-field textarea { box-sizing:border-box; width:100%; min-height:2.7rem; border:1px solid #87978d; border-radius:8px; padding:.55rem; background:#fff; color:#15221b; font:inherit; font-weight:400; }
.tool-field textarea { min-height:5rem; }
.tool-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; }
.tool-button { display:inline-block; border:1px solid #1c654f; border-radius:8px; background:#1c654f; color:white; padding:.65rem 1rem; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.tool-button:hover,.tool-button:focus { background:#104735; color:#fff; }
.tool-button--light { background:#fff; color:#175441; }
.tool-button--light:hover,.tool-button--light:focus { background:#e9f3ed; color:#104735; }
.tool-button:disabled { opacity:.5; cursor:not-allowed; }
.tool-result { background:#f0f6f2; border-left:4px solid #2c765e; border-radius:6px; padding:1rem; margin-top:1rem; }
.tool-result[hidden] { display:none; }
.tool-card-list { display:grid; gap:1rem; margin-top:1rem; }
.tool-card { border:1px solid #d6ded7; border-radius:10px; padding:1rem; background:#fff; }
.tool-card h3 { margin:.2rem 0 .5rem; }
.tool-card p { margin:.45rem 0; }
.tool-card ul { margin:.5rem 0; }
.tool-kicker { font-size:.85rem; font-weight:700; color:#29664f; }
.tool-muted { color:#4e5d52; font-size:.92rem; }
.tool-warning { color:#824219; font-weight:700; }
.tool-total { color:#174d3c; font-size:1.25rem; font-weight:800; }
.tool-check { display:flex; align-items:flex-start; gap:.5rem; font-weight:700; }
.tool-check input { margin-top:.32rem; }
.tool-table-wrap { overflow-x:auto; margin-top:1rem; }
.tool-table { width:100%; border-collapse:collapse; min-width:540px; }
.tool-table th,.tool-table td { padding:.65rem; border:1px solid #d7ded8; text-align:left; vertical-align:top; }
.tool-table th { background:#e8f2eb; }
.tool-source { overflow-wrap:anywhere; font-size:.88rem; }
.tool-note-list { padding-left:1.3rem; }
.tool-status { min-height:1.5rem; margin:.8rem 0 0; }
.tool-pills { display:flex; flex-wrap:wrap; gap:.4rem; }
.tool-pill { border-radius:999px; background:#e8f2eb; padding:.2rem .6rem; font-size:.85rem; }
.tool-divider { border:0; border-top:1px solid #d6ded7; margin:1rem 0; }
@media (max-width:600px) { .tool-panel { padding:1rem; } .tool-table { min-width:480px; } }
