.category-badge{display:inline-block;padding:3px 8px;border-radius:10px;background:#e9f3ec;color:#176047;font-size:11px;white-space:nowrap;margin:2px 3px 2px 0}.category-badge.empty{background:#f0f0ed;color:#8b918d}.category-count{font:600 17px Georgia,serif;color:var(--green)}.category-desc{color:var(--muted);max-width:520px}.edit-category{border:0;background:transparent;color:var(--green);font-weight:700;cursor:pointer;margin-right:8px}.category-filters{grid-template-columns:minmax(220px,420px) auto!important;justify-content:start}.multi-select{min-height:150px}.multi-note{font-size:11px;color:var(--muted);margin-top:5px}@media(max-width:1100px){#keywordFilters{grid-template-columns:repeat(3,1fr)}#keywordFilters .searchBtn{align-self:end}}@media(max-width:700px){#keywordFilters,.category-filters{grid-template-columns:1fr 1fr!important}.category-filters .searchBtn{grid-column:auto}}

.category-actions{min-width:170px}.category-actions button{white-space:nowrap;display:inline-block;margin:4px 6px 4px 0}.category-submission{border:0;background:#e9f3ec;color:var(--green);border-radius:6px;padding:6px 9px;font-weight:600;cursor:pointer}
.dialog:has(#submissionUrl){width:min(760px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.dialog:has(#submissionUrl) #modalBody{overflow:auto;min-height:0;padding-right:8px}.dialog:has(#submissionUrl) .dialog-actions{flex-shrink:0}.dialog:has(#submissionUrl) #modalBody button{border:1px solid #cfd2cc;background:white;border-radius:7px;padding:8px 12px;color:var(--green);cursor:pointer;font-weight:600}#submissionStatus{background:#eef3ed;padding:10px 12px;border-radius:7px}#submissionPreview:empty{display:none}

.category-site{min-width:245px}.category-site>a{color:var(--green);font-weight:650;word-break:break-all}.category-site small,.category-config-state{display:block;margin-top:6px;color:var(--muted);font-size:11px}.category-config-state.on{color:#176047}.category-config-state.off{color:#9a5c36}.dialog:has(.category-config-form){width:min(820px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.dialog:has(.category-config-form) #modalBody{overflow:auto;min-height:0;padding-right:8px}.dialog:has(.category-config-form) .dialog-actions{flex-shrink:0}.category-config-section{margin:16px 0;padding:15px;border:1px solid #e0e4de;border-radius:10px;background:#fafbf9}.category-config-section h3{margin:0 0 12px;color:var(--green);font-size:15px}.toggle-line{display:flex!important;align-items:center;gap:8px;padding:9px 12px;border-radius:8px;background:#edf5ef;font-weight:650}.toggle-line input{width:auto!important}.ftp-test-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.ftp-test-row button{border:1px solid #b9c6bb;background:#fff;color:var(--green);border-radius:7px;padding:8px 12px;font-weight:650;cursor:pointer}.ftp-test-row button:disabled{opacity:.45;cursor:not-allowed}.ftp-test{font-size:12px;color:var(--muted)}.ftp-test.success{color:#176047}.ftp-test.failed{color:#a33b2f}.ftp-test.testing{color:#8b6b23}

.site-category-tabs{display:flex;align-items:center;gap:20px;margin:0 0 22px;padding:12px 16px;background:#fff;border:1px solid #e3e7e5;border-radius:14px;box-shadow:0 3px 14px #15282005}.site-tab-label{font-size:12px;color:#78867e;white-space:nowrap}.site-category-tabs [role=tablist]{display:flex;gap:6px;overflow-x:auto}.site-category-tab{border:0;background:transparent;color:#637269;padding:10px 20px;border-radius:9px;font-size:14px;font-weight:650;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}.site-category-tab:hover{background:#f0f5f2}.site-category-tab.active{background:#172820;color:white;box-shadow:0 2px 5px #17282018}.site-category-tab:focus-visible{outline:2px solid #409b72;outline-offset:2px}@media(max-width:700px){.site-category-tabs{gap:10px;padding:10px}.site-category-tab{padding:9px 14px}.site-tab-label{display:none}}

/* Keep category IDs complete on one line, including narrow screens. */
#dataPanel table:has(td.category-site) .idcol {
  width: 88px;
  min-width: 88px;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  overflow: visible;
  text-overflow: clip;
}
