.subject-directory-controls{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,.65fr);align-items:end;gap:16px;margin:8px 0 14px;max-width:820px}
.subject-directory-tools{display:grid;grid-template-columns:minmax(240px,460px);gap:7px;margin:8px 0 10px}
.subject-directory-tools label{font-size:11px;font-weight:700;color:#4d6657}
.subject-directory-tools input{width:100%;border:1px solid #dce4d9;background:#fff;border-radius:9px;padding:13px 15px;color:var(--ink);font:500 14px var(--sans)}
.subject-directory-tools input:focus{outline:2px solid #a6bb65;outline-offset:1px}
.subject-category-filter{display:grid;gap:7px;color:#4d6657;font-size:11px;font-weight:700}
.subject-category-filter select{min-height:45px;padding:10px 13px;border:1px solid #dce4d9;border-radius:9px;background:#fff;color:#263b43;font:500 14px var(--sans)}
.subject-alphabet{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.subject-letter{min-width:32px;min-height:32px;padding:5px 8px;border:1px solid #e0e7e2;border-radius:8px;background:#fff;color:#50646b;font:600 12px var(--sans);cursor:pointer}
.subject-letter:hover,.subject-letter.active{border-color:#294a54;background:#294a54;color:white}
.subject-directory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.subject-directory-grid .directory-card{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;min-height:58px;padding:11px 13px;border-radius:9px;box-shadow:0 3px 12px #243e2c07}
.subject-directory-grid .directory-card:hover{border-color:#cad8c0;box-shadow:0 8px 18px #243e2c12;transform:translateY(-2px)}
.subject-directory-grid .directory-card h2{font:700 12px/1.35 var(--display);margin:0;color:#274a3b}
.subject-directory-grid .subject-count{flex:none;margin:0!important;font-size:9px!important;color:#82904b!important;white-space:nowrap}
@media(max-width:1000px){.subject-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.subject-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.subject-directory-grid .directory-card{padding:10px}.subject-directory-grid .directory-card h2{font-size:11px}}
@media(max-width:430px){.subject-directory-grid{grid-template-columns:1fr}.subject-directory-grid .directory-card{min-height:50px}.subject-directory-grid .directory-card h2{font-size:12px}}
@media(max-width:650px){.subject-directory-controls{grid-template-columns:1fr;gap:10px}.subject-alphabet{gap:4px}.subject-letter{min-width:29px;min-height:30px;padding:4px 6px}}
