.tools-directory [hidden] { display: none !important; }
.tools-directory .tools-filters { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr) auto; gap: 1rem; align-items: end; padding: 1.25rem; margin: 1.5rem 0; background: #edf5f5; color: #173438; border: 1px solid #9db6b8; border-radius: .5rem; }
.tools-directory .tools-filters > div { min-width: 0; }
.tools-directory label { display: block; font-weight: 700; margin-bottom: .4rem; }
.tools-directory input, .tools-directory select, .tools-directory button { box-sizing: border-box; width: 100%; min-height: 44px; border: 1px solid #516b70; border-radius: .25rem; padding: .65rem; font: inherit; font-size: 1rem; background: #fff; color: #173438; }
.tools-directory input::placeholder { color: #52666a; opacity: 1; }
.tools-directory button { background: #174e55; border-color: #174e55; color: #fff; cursor: pointer; }
.tools-directory button:hover { background: #103d43; }
.tools-directory :is(input,select,button,a):focus-visible { outline: 3px solid #173438; outline-offset: 3px; }
.tools-directory #tools-status { grid-column: 1 / -1; margin: 0; }
.tools-directory #tools-empty { padding: 1rem; background: #edf5f5; color: #173438; border-left: 4px solid #174e55; }
.tools-directory .tools-topic, .tools-directory .tools-anchor { scroll-margin-top: 1.5rem; }
.tools-directory .tools-count { white-space: nowrap; }
@media (max-width: 760px) { .tools-directory .tools-filters { grid-template-columns: minmax(0,1fr); } }
