.category-group{margin:10px 0;border:1px solid #ccd9dd;border-radius:12px;background:#fff;color:#173b45;overflow:hidden;text-align:right}
.category-group>summary{cursor:pointer;padding:12px 14px;font-weight:700;background:#f1f7f6}
.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;padding:12px;max-height:320px;overflow:auto}
.category-choice{display:flex!important;align-items:center;gap:9px;padding:10px;border:1px solid #e0e8e8;border-radius:8px;cursor:pointer;font-size:14px;line-height:1.5;font-weight:400!important}
.category-choice:has(input:checked){background:#e9f6ef;border-color:#4b9274}
.category-choice input[type=checkbox]{width:18px!important;height:18px!important;min-height:0!important;margin:0!important;flex:none;accent-color:#267356}
.category-choice:focus-within{outline:2px solid #267356;outline-offset:2px}
#jobs-filters {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: end;
}
#jobs-filters .jobs-field,
#jobs-filters .jobs-field .filter-details,
#jobs-filters #jobs-search {
  width: 100%;
  min-width: 0;
  max-width: none;
}
#jobs-filters .filter-details > summary { box-sizing: border-box; height: 44px; min-height: 44px; }
#jobs-filters .filter-details > summary span { max-width: 100%; }
#jobs-filters #jobs-search { box-sizing: border-box; height: 46px; }
#jobs-filters .jobs-clear { grid-column: 1 / -1; }
#jobs-categories {
  position: absolute;
  z-index: 5;
  inset-inline-end: 0;
  top: calc(100% + 4px);
  width: min(340px, calc(100vw - 40px));
  max-height: min(55vh, 380px);
  overflow: auto;
  padding: 8px;
  border: 1px solid #cbdbe3;
  border-radius: 10px;
  background: white;
  box-shadow: 0 8px 24px #0c293e1a;
}
#jobs-categories .category-group { margin: 0 0 6px; }
#jobs-categories .category-grid { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 1100px) {
  #jobs-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  #jobs-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #jobs-filters .jobs-field:has(#jobs-search) { grid-column: auto; }
  #jobs-categories { inset-inline: 0; width: auto; }
}
@media(max-width:560px){.category-grid{grid-template-columns:1fr}}

.category-add{display:flex;flex-wrap:wrap;gap:8px;padding:12px}.category-add input{flex:1;min-width:180px;padding:10px;border:1px solid #ccd9dd;border-radius:8px}.category-add [role=status]{width:100%}.settings-panel select{width:100%;padding:12px;margin:10px 0}.settings-panel .option-row{flex-wrap:wrap}
