.filter-buttons { min-width:0; margin:0; padding:0; border:0; }
.filter-buttons legend { margin-bottom:10px; padding:0; color:#173a31; font-size:14px; font-weight:700; }
.filter-buttons-choices { display:flex; flex-wrap:wrap; gap:8px; }
.filter-buttons-choices button { min-height:44px; max-width:100%; padding:9px 16px; border:1px solid #c8dcd3; border-radius:10px; background:#fff; color:#33584a; font:inherit; font-size:14px; line-height:1.5; cursor:pointer; overflow-wrap:anywhere; touch-action:manipulation; }
.filter-buttons-choices button:hover { border-color:#008b63; background:#eafaf3; }
.filter-buttons-choices button[aria-pressed="true"] { border-color:#008b63; background:#00c18a; color:#073e30; font-weight:700; }
.filter-buttons-choices button:focus-visible { outline:3px solid #008b63; outline-offset:3px; }
.filter-buttons-choices button:disabled { opacity:.5; cursor:default; }
.teacher-button-filters { display:grid; gap:20px; padding:clamp(18px,3vw,28px); }
.teacher-button-filters .field { min-width:0; }
.teacher-button-filters .field:has(.filter-buttons) { width:100%; }
.teacher-button-filters .filter-buttons { padding-bottom:18px; border-bottom:1px solid #e1ebe5; }
.teacher-button-filters .field select[hidden] { display:none; }
.teacher-button-filters label[hidden] { display:none; }
.teacher-button-filters .filter-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.student-button-filters { display:grid; gap:18px; }
.student-button-filters select[hidden] { display:none; }

.teacher-search-layout,.student-search-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:24px; align-items:start; }
.search-summary { background:#eaf5ef; border:1px solid #cde2d5; border-radius:14px; padding:22px; min-width:0; }
.search-summary h2,.search-summary h4 { font-size:18px; margin:0 0 16px; }
.search-summary p { font-size:13px; color:#526c60; }
.search-summary-chips { display:flex; flex-wrap:wrap; gap:8px; }
.search-summary-chips button { border:1px solid #a7ccb9; background:white; color:#008b63; border-radius:8px; min-height:44px; padding:7px 12px; font:inherit; cursor:pointer; touch-action:manipulation; }
.search-summary-chips button:hover { background:#d8eddf; }
.search-summary-chips button:focus-visible { outline:3px solid #008b63; outline-offset:3px; }
.search-summary-note { margin-top:16px; }
#searchHeading { color:#008b63; font-size:24px; }
.teacher-search-results,.student-button-filters { min-width:0; }
.teacher-button-filters .field[hidden] { display:none; }
.search-subject-note { margin:0 0 12px; font-size:13px; color:#526c60; }
@media(max-width:720px){ .teacher-search-layout,.student-search-layout { grid-template-columns:minmax(0,1fr); gap:18px; } .search-summary { padding:18px; } }
