/* Optional catalogue: shared portal colours, typography and Appearance tokens. */
.funding-settings,.catalog-intro,.catalog-editor,.catalog-fields,.catalog-fields>* { min-width:0; }
.catalog-intro { display:grid;gap:1rem; }
.catalog-intro details { padding:1rem;background:var(--surface-soft);border:1px solid var(--border);border-radius:12px; }
.catalog-intro summary { cursor:pointer;font-weight:600;min-height:2rem; }
.catalog-intro li { margin:.65rem 0; }
.catalog-intro a { text-decoration:underline; }
.catalog-intro form { display:flex;align-items:center;flex-wrap:wrap;gap:1rem; }
.catalog-tabs { display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0; }
.catalog-tabs a { display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.65rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--surface); }
.catalog-tabs a.is-active { border-color:var(--purple);color:var(--purple);font-weight:700; }
.catalog-tabs span { font-size:.85em;color:var(--ink-soft); }
.catalog-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem; }
.catalog-fields .wide { grid-column:1/-1; }
.catalog-fields .field { min-width:0;display:flex;flex-direction:column;gap:.45rem; }
.catalog-fields input:not([type=checkbox]),.catalog-fields select,.catalog-fields textarea { width:100%;min-width:0;max-width:100%;font:inherit; }
.catalog-fields small,.catalog-check small { display:block;font-size:.85em;font-weight:400;color:var(--ink-soft);line-height:1.5; }
.catalog-fields textarea { min-height:8rem;resize:vertical; }
.catalog-check { display:flex;align-items:flex-start;gap:.65rem;min-height:44px;max-width:100%;overflow-wrap:anywhere; }
.catalog-check input[type=checkbox] { flex:none;width:1.2rem;height:1.2rem;margin:.2rem 0 0; }
.catalog-centers { border:1px solid var(--border);border-radius:12px;padding:1rem;min-width:0; }
.catalog-centers legend { padding:0 .4rem;font-weight:600;max-width:100%; }
.catalog-center-options { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.7rem; }
.catalog-filters { display:flex;align-items:end;gap:.75rem;flex-wrap:wrap;margin:1rem 0; }
.catalog-filters .field { flex:1 1 12rem;min-width:0; }
.catalog-table { width:100%;min-width:640px;table-layout:fixed; }
.catalog-table th:nth-child(1) { width:27%; }.catalog-table th:nth-child(2) { width:39%; }.catalog-table th:nth-child(3) { width:21%; }.catalog-table th:nth-child(4) { width:13%; }
.catalog-table td,.catalog-table th { overflow-wrap:anywhere;white-space:normal;vertical-align:top; }
.catalog-table small { display:block;margin-top:.4rem;color:var(--ink-soft); }
.funding-settings .footer { display:flex;align-items:center;flex-wrap:wrap;gap:.75rem; }
.funding-settings .button,.funding-settings button,.funding-settings .primary-button { min-height:44px;white-space:normal;overflow-wrap:anywhere; }
.funding-settings .panel-head { align-items:start;min-width:0; }
.funding-settings .panel-head>div { min-width:0; }
.funding-settings h2,.funding-settings p,.funding-settings summary { overflow-wrap:anywhere; }
.funding-coding { display:flex;flex-direction:column;gap:.45rem;min-width:0;max-width:100%; }
.funding-coding select { width:100%;min-width:0;max-width:100%; }
.funding-coding small { white-space:normal;overflow-wrap:anywhere;font-size:.85em;color:var(--ink-soft); }
.funding-coding button { min-height:36px;white-space:normal;font:inherit; }
.budget-item-card .grid { align-items:start; }
.purchase-request-page .funding-coding-table { min-width:0;table-layout:fixed; }
.funding-coding-table th:nth-child(1) { width:22%; }.funding-coding-table th:nth-child(2) { width:27%; }.funding-coding-table th:nth-child(3) { width:51%; }
.funding-coding-table td { overflow-wrap:anywhere;vertical-align:top; }
.funding-coding-table .funding-availability-label { display:none; }
@media(max-width:700px) {
  .catalog-fields,.catalog-center-options { grid-template-columns:minmax(0,1fr); }
  .catalog-tabs a { flex:1 1 10rem; }
  .catalog-intro form>button { width:100%; }
  .catalog-intro .catalog-check { flex-basis:100%; }
  .catalog-table { min-width:600px; }
  .funding-coding-table thead { display:none; }
  .funding-coding-table,.funding-coding-table tbody,.funding-coding-table tr,.funding-coding-table td { display:block;width:100%; }
  .funding-coding-table tr+tr { border-top:2px solid var(--border); }
  .purchase-request-page .funding-coding-table td { border:0;padding:.65rem; }
  .funding-coding-table .funding-availability-label { display:block; }
}
