/* AAgFFiN directory — filters, company cards, pagination. Builds on
   aagffin-dashboard.css's shell + card tokens. */

.ag-dir-filters{margin-top:20px}
.ag-dir-search{position:relative;flex:1;min-width:220px;color:var(--muted)}
.ag-dir-search svg{position:absolute;left:18px;top:50%;transform:translateY(-50%)}
.ag-dir-search input{width:100%;padding:1rem 1.1rem 1rem 2.9rem;border:1px solid var(--border);border-radius:999px;
  background:#fff;font-size:1rem;color:var(--dark);box-shadow:0 1px 2px rgba(38,50,56,.04)}
.ag-dir-search input::placeholder{color:var(--muted)}
.ag-dir-type-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ag-dir-type-pill{padding:.55rem 1.1rem;border:none;border-radius:999px;background:#fff;color:var(--mid);
  font-size:.85rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s}
.ag-dir-type-pill:hover{background:var(--husk)}
.ag-dir-type-pill.is-active{background:var(--green-d);color:#fff}

.ag-dir-filters-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ag-dir-filters select{padding:1rem 1.1rem;border:1px solid var(--border);border-radius:999px;background:#fff;
  font-size:1rem;color:var(--dark);box-shadow:0 1px 2px rgba(38,50,56,.04)}
.ag-dir-filters input:focus,.ag-dir-filters select:focus{outline:2px solid var(--green-l);border-color:transparent}
.ag-dir-count{margin:12px 0 0;font-size:.85rem;color:var(--muted)}
.ag-dir-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;
  padding:0 9px;border-radius:999px;background:var(--husk,#EEF1EF);color:#636d64;font-size:.85rem;
  font-weight:700;vertical-align:middle;margin-left:8px}
.ag-dir-filters button{padding:1rem 1.6rem;border-radius:999px;border:none;background:var(--green);color:#fff;
  font-weight:700;font-size:1rem;cursor:pointer;transition:background .2s}
.ag-dir-filters button:hover{background:var(--green-d)}
.ag-dir-clear{font-size:.82rem;font-weight:600;color:var(--muted);text-decoration:none;padding:.6rem .4rem}
.ag-dir-clear:hover{color:var(--dark);text-decoration:underline}

.ag-dir-toolbar-row{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.ag-dir-toolbar-row .ag-view-toggle{margin-top:20px}
.ag-dir-toolbar-row .ag-dir-toolbar{flex:1;min-width:220px}
.ag-dir-toolbar-form{margin-top:20px;flex:1;min-width:220px}
.ag-dir-toolbar{display:flex;align-items:stretch;min-height:52px;border:1px solid var(--border);border-radius:999px;
  background:#fff;box-shadow:0 1px 2px rgba(38,50,56,.04)}
.ag-dir-toolbar .ag-dir-search{margin:0;flex:1}
.ag-dir-toolbar .ag-dir-search input{border:none;box-shadow:none;background:transparent}
.ag-dir-toolbar .ag-dir-search input:focus{outline:none}
.ag-dir-filter-btn{display:inline-flex;align-items:center;gap:7px;padding:.85rem 1.3rem;
  border:none;border-left:1px solid var(--border);background:transparent;color:var(--dark);
  font-size:.9rem;font-weight:600;cursor:pointer;flex-shrink:0;position:relative;border-radius:0 999px 999px 0}
.ag-dir-filter-btn:hover{background:var(--husk)}
.ag-dir-filter-dot{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;
  padding:0 4px;border-radius:999px;background:var(--green-d);color:#fff;font-size:.8125rem;font-weight:700}
.ag-dir-sort-select{border:none;border-left:1px solid var(--border);background:transparent;color:var(--dark);
  font-size:.9rem;font-weight:600;font-family:inherit;padding:.85rem 1rem;cursor:pointer;flex-shrink:0}
.ag-dir-sort-select:hover{background:var(--husk)}
.ag-dir-sort-select:focus{outline:none}

.ag-filter-modal-overlay{position:fixed;inset:0;background:rgba(20,20,20,.4);display:flex;align-items:center;
  justify-content:center;z-index:100;padding:20px}
.ag-filter-modal-overlay[hidden]{display:none}
.ag-filter-modal{background:#fff;border-radius:20px;width:100%;max-width:380px;overflow:hidden}
.ag-filter-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;
  border-bottom:1px solid #ECEEEA}
.ag-filter-modal-head h2{font-family:var(--fd);font-size:1.05rem;font-weight:700;color:#1d1d1d;margin:0}
.ag-filter-modal-close{background:none;border:none;font-size:1.4rem;line-height:1;color:#8B95A1;cursor:pointer;padding:0}
.ag-filter-modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px}
.ag-filter-field{display:flex;flex-direction:column;gap:6px}
.ag-filter-field span{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#8B95A1}
.ag-filter-field select,.ag-filter-field input{width:100%;padding:.7rem .9rem;border:1px solid var(--border);border-radius:10px;
  background:#fff;font-size:.92rem;color:var(--dark);font-family:inherit}
.ag-dir-request-extra{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
@media(max-width:480px){.ag-dir-request-extra{grid-template-columns:1fr}}
.ag-filter-modal-foot{display:flex;align-items:center;gap:14px;padding:16px 20px;border-top:1px solid #ECEEEA}
.ag-filter-modal-foot button{padding:.75rem 1.4rem;border-radius:999px;border:none;background:var(--green);
  color:#fff;font-weight:700;font-size:.88rem;cursor:pointer}
.ag-filter-modal-foot button:hover{background:var(--green-d)}

.ag-dir-card-badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.ag-dir-cohort-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
  border-radius:7px;background:var(--husk,#EEF1EF);color:#636d64;flex-shrink:0}

.ag-dir-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;align-items:stretch}
@media(max-width:1024px){.ag-dir-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ag-dir-grid{grid-template-columns:1fr}}
.ag-dash-content-in.is-list-view .ag-dir-grid{grid-template-columns:1fr}

.ag-dir-card{display:flex;flex-direction:column;height:100%;padding:14px;text-decoration:none;color:inherit;transition:border-color .15s}
.ag-dir-card:hover{border-color:#CBCFD4}
.ag-dir-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ag-dir-avatar{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  font-size:.8125rem;font-weight:700;background:var(--green-d);color:#fff}
.ag-dir-avatar-financier,.ag-dir-avatar-agribusiness,.ag-dir-avatar-enabler{background:var(--green-d);color:#fff}
.ag-dir-card-logo{object-fit:cover;background:#fff;border:1px solid var(--border)}

.ag-dir-type-badge{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.03em;padding:3px 8px;border-radius:999px;background:transparent;border:1px solid #E3E5E8;color:#8B95A1}
.ag-dir-type-financier,.ag-dir-type-agribusiness,.ag-dir-type-enabler{background:transparent;border:1px solid #E3E5E8;color:#8B95A1}

.ag-dir-org{display:block;font-size:.9rem;font-weight:700;color:var(--dark);margin-bottom:2px}
.ag-dir-contact{margin:0;font-size:.8125rem;color:var(--muted)}
.ag-dir-match{display:flex;align-items:center;gap:5px;margin:6px 0 0;font-size:.8125rem;font-weight:700;
  color:var(--green-d);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-dir-match svg{flex-shrink:0}
.ag-dir-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:6px}
.ag-fund-card .ag-fund-amount{margin-top:auto}

.ag-view-toggle{display:inline-flex;min-height:52px;border:1px solid var(--border);border-radius:999px;overflow:hidden;flex-shrink:0}
.ag-view-btn{padding:0 1.1rem;background:#fff;border:none;color:#8B95A1;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:0}
.ag-view-btn:hover{background:var(--husk,#EEF1EF)}
.ag-view-btn.is-active{background:var(--green-d);color:#fff}
.ag-view-btn + .ag-view-btn{border-left:1px solid var(--border)}
.ag-dir-requested-badge{display:inline-flex;align-items:center;gap:4px;font-size:.8125rem;font-weight:700;
  color:var(--green-d);background:var(--green-xl);padding:2px 7px;border-radius:999px;flex-shrink:0}

.ag-saved-search-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0 20px}
.ag-saved-search-label{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:700;
  color:var(--muted);text-transform:uppercase;letter-spacing:.02em}
.ag-saved-search-label svg{flex-shrink:0}
.ag-saved-search-chip{display:inline-flex;align-items:center;gap:8px;padding:.45rem .5rem .45rem 1rem;border-radius:999px;
  background:var(--green-xl);border:1px solid var(--green-l);color:var(--green-d);font-size:.8125rem;font-weight:600}
.ag-saved-search-chip button{width:20px;height:20px;border-radius:50%;border:none;background:rgba(0,0,0,.06);color:var(--green-d);
  font-size:.9rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ag-saved-search-chip button:hover{background:var(--green-l)}
.ag-dir-org-verified{margin-left:6px;vertical-align:middle}

.ag-dir-socials{display:inline-flex;gap:10px}
.ag-dir-socials a{color:var(--mid);display:inline-flex}
.ag-dir-socials a:hover{color:var(--green-d)}

.ag-dir-focus-chips{display:flex;flex-wrap:wrap;gap:8px 0}
.ag-dir-focus-chip{padding:0;border-radius:0;background:transparent;color:#1d1d1d;
  font-size:.88rem;font-weight:500}
.ag-dir-focus-chip:not(:last-child)::after{content:',';color:#8B95A1;font-weight:400;margin-right:6px}
.ag-dir-no-request-note{margin:0;font-size:.83rem;color:var(--muted)}

.ag-dir-country{display:flex;align-items:center;gap:5px;margin:6px 0 0;font-size:.8125rem;color:var(--mid);font-weight:600}
.ag-dir-card .ag-dir-country{margin-top:4px}

.ag-dir-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px}
.ag-dir-pagination a{font-size:.85rem;font-weight:700;color:var(--green-d);text-decoration:none;padding:.5rem 1rem;
  border:none;border-radius:999px;background:var(--green-xl)}
.ag-dir-pagination a:hover{background:var(--green-l)}
.ag-dir-page-info{font-size:.82rem;color:var(--muted)}

/* ── Company profile view ── */
.ag-dir-back{display:inline-block;margin-top:8px;font-size:.95rem;font-weight:700;color:var(--green-d);text-decoration:none}
.ag-dir-back:hover{text-decoration:underline}

.ag-dir-profile{margin-top:16px;padding:28px;border:none}
.ag-dir-profile-banner{display:none}
.ag-dir-profile-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:8px}
.ag-dir-profile-head > div:nth-child(2){flex:1}
.ag-dir-profile-logo{width:52px;height:52px;border-radius:10px;object-fit:cover;flex-shrink:0;border:1px solid #E3E5E8;background:#fff}
.ag-dir-profile-avatar{width:52px;height:52px;border-radius:10px;font-size:1rem;flex-shrink:0}
.ag-dir-profile-head .ag-dash-h1{margin-top:4px}
.ag-dir-profile-head .ag-dir-country{margin-top:4px}
.ag-dir-rating{display:flex;align-items:center;gap:5px;margin:4px 0 0;font-size:.8125rem;color:var(--mid)}
.ag-dir-rating svg{color:#E8A93B;flex-shrink:0}
.ag-dir-rating b{color:var(--dark);font-weight:700}
.ag-dir-profile-head-action{flex-shrink:0;margin-left:auto}
@media(max-width:560px){.ag-dir-profile-head{flex-wrap:wrap}.ag-dir-profile-head-action{margin-left:0}}

.ag-dir-profile-body{padding-top:8px}
.ag-dir-tabs{display:flex;gap:28px;border-bottom:2px solid #ECEEEA;margin-top:4px}
.ag-dir-tab{padding:12px 0;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;
  font-size:.95rem;font-weight:700;color:#9AA0A6;cursor:pointer;font-family:var(--fd)}
.ag-dir-tab:hover{color:#1d1d1d}
.ag-dir-tab.is-active{color:#1d1d1d;border-bottom-color:var(--green-d)}
.ag-dir-tabpanel[hidden]{display:none}

.ag-dir-profile-section{padding:20px 0;margin-top:0;border:none;border-top:1px solid #ECEEEA;background:transparent}
.ag-dir-profile-section:first-child{border-top:1px solid #ECEEEA}
.ag-dir-profile-section h3{font-family:var(--fd);font-size:.8125rem;font-weight:700;color:#8B95A1;margin:0 0 14px;
  text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:7px}
.ag-dir-profile-section h3 svg{color:#8B95A1;flex-shrink:0}
.ag-dir-profile-section > p{font-size:.92rem;color:var(--mid);line-height:1.65;margin:0}
.ag-dir-rich-text p{font-size:.92rem;color:var(--mid);line-height:1.65;margin:0 0 10px}
.ag-dir-rich-text p:last-child{margin-bottom:0}
.ag-dir-rich-text ul{font-size:.92rem;color:var(--mid);line-height:1.65;margin:0 0 10px;padding-left:20px}
.ag-dir-rich-text ul:last-child{margin-bottom:0}

.ag-dir-meta-row{margin:6px 0 0;font-size:.85rem;color:var(--mid);line-height:1.5}

.ag-dir-contact-pills{display:flex;flex-direction:column;gap:10px}
.ag-dir-contact-pill{display:inline-flex;align-items:center;gap:9px;padding:0;border-radius:0;
  background:transparent;border:none;font-size:.88rem;font-weight:500;color:#1d1d1d;text-decoration:none;width:fit-content}
.ag-dir-contact-pill svg{color:#8B95A1;flex-shrink:0}
.ag-dir-contact-pill:hover{color:var(--green-d)}
.ag-dir-contact-pill:hover svg{color:var(--green-d)}

.ag-dir-social-row{display:flex;align-items:center;gap:8px;margin-top:12px}
.ag-dir-social-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;
  border-radius:8px;border:1px solid #E3E5E8;color:#8B95A1;flex-shrink:0}
.ag-dir-social-icon:hover{color:var(--green-d);border-color:var(--green-m,#8fbf6a)}

.ag-dir-btn{padding:.85rem 1.6rem;border-radius:50px;border:none;background:var(--green);color:#fff;font-weight:700;
  font-size:.88rem;cursor:pointer;transition:background .2s;font-family:var(--fb)}
.ag-dir-btn:hover{background:var(--green-d)}
.ag-dir-btn:disabled{opacity:.6;cursor:not-allowed}
.ag-dir-request-btn{max-width:220px}
.ag-dir-btn-sm{padding:.55rem 1.1rem;font-size:.8125rem;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.ag-dir-request-btn.is-requested,.ag-dir-request-btn.is-requested:disabled{opacity:1;cursor:default;
  background:transparent;border:1px solid #E3E5E8;color:#636d64}
.ag-dir-request-form textarea{width:100%;padding:.8rem 1rem;border:none;border-radius:16px;
  background:var(--green-xl);font-size:.85rem;color:var(--dark);font-family:var(--fb);resize:vertical}
.ag-dir-request-form textarea:focus{outline:2px solid var(--green-l)}
.ag-dir-request-actions{display:flex;gap:10px;margin-top:10px}
.ag-dir-request-actions .ag-dir-btn{max-width:160px}
.ag-dir-request-cancel{background:var(--husk);border:none;border-radius:50px;padding:.7rem 1.2rem;
  font-size:.85rem;font-weight:700;color:var(--mid);cursor:pointer}

.ag-dir-btn-ghost{background:transparent;color:var(--muted);border:1px solid #E3E5E8}
.ag-dir-btn-ghost:hover{background:var(--husk);color:var(--mid)}

.ag-report-link-row{margin:14px 2px 0;text-align:right}
.ag-report-link{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:4px 0;
  font-size:.8125rem;font-weight:600;color:var(--muted);cursor:pointer;font-family:var(--fb)}
.ag-report-link:hover{color:var(--red-d)}

/* ── Report modal — shared trigger + dialog for reporting a company, member,
   funding posting or project from Directory/Funding/Projects. ── */
.ag-report-modal[hidden]{display:none!important}
.ag-report-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.ag-report-modal-backdrop{position:absolute;inset:0;background:rgba(20,20,15,.45)}
.ag-report-modal-panel{position:relative;background:#fff;border-radius:16px;padding:24px;max-width:420px;width:100%;
  box-shadow:0 20px 60px rgba(0,0,0,.2)}
.ag-report-modal-close{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:8px;border:none;
  background:var(--husk);color:var(--mid);font-size:1.1rem;line-height:1;cursor:pointer}
.ag-report-modal-close:hover{background:#DDE3E0}
.ag-report-modal h3{margin:0 0 4px;font-family:var(--fd);font-size:1.05rem;font-weight:700;color:var(--dark);padding-right:24px}
.ag-report-modal-sub{margin:0 0 16px;font-size:.8125rem;color:var(--muted)}
.ag-report-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.ag-report-field span{font-size:.8125rem;font-weight:700;color:var(--dark)}
.ag-report-field select,.ag-report-field textarea{padding:.65rem .9rem;border:1px solid #E3E5E8;border-radius:12px;
  background:#fff;font-size:.85rem;color:var(--dark);font-family:var(--fb)}
.ag-report-field textarea{min-height:80px;resize:vertical}
.ag-report-field select:focus,.ag-report-field textarea:focus{outline:2px solid var(--green-l);border-color:transparent}
.ag-report-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ag-report-submit{padding:.7rem 1.4rem;border-radius:999px;border:none;background:var(--red-d);color:#fff;
  font-weight:700;font-size:.85rem;cursor:pointer;font-family:var(--fb)}
.ag-report-submit:hover{opacity:.9}
.ag-report-submit:disabled{opacity:.6;cursor:not-allowed}
.ag-report-msg{font-size:.82rem;font-weight:600;margin:0}
.ag-report-msg.is-error{color:var(--red-d)}
.ag-report-msg.is-success{color:var(--green-d)}
.ag-dir-request-cancel:hover{background:#DDE3E0}
.ag-dir-request-sent{font-size:.85rem;font-weight:700;color:var(--green-d);margin:0}

/* ═══ Company profile — compact redesign (page-directory.php, /directory/<slug>/) ═══ */
.ag-pf-crumbs{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--ink-2);margin:0 0 14px}
.ag-pf-crumbs a{color:var(--ink-2);text-decoration:none}
.ag-pf-crumbs a:hover{color:var(--green);text-decoration:underline}
.ag-pf-crumbs [aria-current]{color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-pf{background:#fff;border:1px solid #E3E8E5;border-radius:18px;overflow:hidden}
/* header */
.ag-pf-head{display:flex;align-items:center;gap:16px;padding:22px 24px}
.ag-pf-logo{width:60px;height:60px;border-radius:14px;flex-shrink:0;object-fit:cover;border:1px solid #E3E8E5;background:#fff}
.ag-pf-initials{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--green);color:#fff;font-weight:700;font-size:1.25rem}
.ag-pf-id{flex:1;min-width:0}
.ag-pf-name{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 6px;font-family:var(--fd);font-size:1.5rem;font-weight:700;line-height:1.2;color:var(--ink)}
.ag-pf-verified{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:var(--fresh-l);color:var(--fresh-d);font-size:.75rem;font-weight:700;letter-spacing:.2px}
.ag-pf-sub{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:.875rem;color:var(--ink-2)}
.ag-pf-sub li{display:inline-flex;align-items:center;gap:5px}
.ag-pf-sub svg{color:#8A968F}
.ag-pf-type{font-weight:600;color:var(--ink)}
.ag-pf-type svg{color:var(--green)}
.ag-pf-rating svg{color:#B97A00}
.ag-pf-rating b{color:var(--ink)}
.ag-pf-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ag-pf-btn{display:inline-flex;align-items:center;gap:6px;padding:.6rem 1.15rem;border:0;border-radius:999px;background:var(--green);color:#fff;
  font-weight:700;font-size:.875rem;cursor:pointer;transition:background .15s}
.ag-pf-btn:hover{background:var(--green-d)}
.ag-pf-btn.is-requested,.ag-pf-btn:disabled{background:var(--fresh-l);color:var(--fresh-d);cursor:default}
.ag-pf-report{display:inline-flex;align-items:center;gap:5px;padding:.5rem .7rem;border:0;border-radius:999px;background:transparent;
  color:var(--ink-2);font-size:.8125rem;font-weight:600;cursor:pointer}
.ag-pf-report:hover{background:#F2F4F3;color:var(--red)}
/* request form + enabler note */
.ag-pf-request{padding:0 24px}
.ag-pf-request form{margin:0 0 20px;padding:18px;border-radius:14px;background:#F7F9F8;border:1px solid #E8ECEA}
.ag-pf-label{display:block;font-size:.8125rem;font-weight:700;color:var(--ink);margin-bottom:6px}
.ag-pf-request textarea{width:100%;box-sizing:border-box;font:inherit;font-size:.9375rem;border:1px solid #D5DDD8;border-radius:10px;padding:10px 12px;background:#fff}
.ag-pf-request textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(146,227,169,.45)}
.ag-pf-note{margin:0 24px 18px;padding:12px 14px;border-radius:12px;background:#F7F9F8;font-size:.875rem;color:var(--ink-2)}
/* tabs */
.ag-pf-tabs{display:flex;gap:4px;padding:0 16px;border-bottom:1px solid #E8ECEA;overflow-x:auto;scrollbar-width:none}
.ag-pf-tab{position:relative;display:inline-flex;align-items:center;gap:7px;padding:13px 10px;border:0;background:none;
  font:inherit;font-size:.9375rem;font-weight:600;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.ag-pf-tab::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:transparent}
.ag-pf-tab:hover{color:var(--ink)}
.ag-pf-tab.is-active{color:var(--ink)}
.ag-pf-tab.is-active::after{background:var(--green)}
.ag-pf-tab:focus-visible{outline:2px solid var(--green);outline-offset:-4px;border-radius:8px}
.ag-pf-count{min-width:20px;padding:1px 7px;border-radius:999px;background:#EEF1EF;color:var(--ink-2);font-size:.75rem;font-weight:700;text-align:center}
.ag-pf-tab.is-active .ag-pf-count{background:var(--fresh-l);color:var(--fresh-d)}
/* panels */
.ag-pf-panel{padding:22px 24px 24px}
.ag-pf-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.ag-pf-block+.ag-pf-block{margin-top:22px;padding-top:22px;border-top:1px solid #EEF1EF}
.ag-pf-block h2,.ag-pf-box h2{margin:0 0 10px;font-size:.75rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--ink-2)}
.ag-pf-main .ag-dir-rich-text{font-size:.9375rem;line-height:1.7;color:var(--ink)}
.ag-pf-muted{margin:0;font-size:.9375rem;color:var(--ink-2)}
.ag-pf-chips{display:flex;flex-wrap:wrap;gap:6px}
.ag-pf-chips span{padding:5px 11px;border-radius:999px;background:#F2F5F3;border:1px solid #E6EBE8;font-size:.8125rem;color:var(--ink)}
.ag-pf-side{display:flex;flex-direction:column;gap:14px}
.ag-pf-box{padding:16px 18px;border:1px solid #E8ECEA;border-radius:14px;background:#FBFCFB}
.ag-pf-contact{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ag-pf-contact li{display:flex;align-items:center;gap:10px;min-width:0;font-size:.875rem;color:var(--ink)}
.ag-pf-contact svg{color:var(--green);flex-shrink:0}
.ag-pf-contact a{color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-pf-contact a:hover{color:var(--green);text-decoration:underline}
.ag-pf-links{display:flex;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid #EEF1EF}
.ag-pf-links a{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #E3E8E5;color:var(--ink-2)}
.ag-pf-links a:hover{border-color:var(--green);color:var(--green)}
.ag-pf-dl{margin:0;display:grid;gap:9px}
.ag-pf-dl div{display:grid;gap:1px}
.ag-pf-dl dt{font-size:.75rem;color:var(--ink-2)}
.ag-pf-dl dd{margin:0;font-size:.875rem;font-weight:600;color:var(--ink)}
/* compact rows (postings, track record) */
.ag-pf-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ag-pf-row{display:flex;align-items:center;gap:14px;padding:13px 16px;border:1px solid #E8ECEA;border-radius:12px;text-decoration:none;color:var(--ink);
  transition:border-color .15s,background .15s}
a.ag-pf-row:hover{border-color:#CFD9D3;background:#FBFCFB}
.ag-pf-row>svg{color:#9AA5A0;flex-shrink:0}
.ag-pf-row-avatar{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--fresh-l);color:var(--fresh-d);font-weight:700;font-size:.8125rem}
.ag-pf-row-main{flex:1;min-width:0;display:grid;gap:2px}
.ag-pf-row-main b{font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-pf-row-main span,.ag-pf-row-side span{font-size:.8125rem;color:var(--ink-2)}
.ag-pf-row-side{display:grid;gap:2px;text-align:right;flex-shrink:0}
.ag-pf-row-side b{font-size:.875rem}
@media(max-width:860px){.ag-pf-grid{grid-template-columns:1fr}}
@media(max-width:600px){
  .ag-pf-head{flex-wrap:wrap;padding:18px}
  .ag-pf-actions{width:100%;justify-content:space-between}
  .ag-pf-panel{padding:18px}
  .ag-pf-request{padding:0 18px}
  .ag-pf-name{font-size:1.25rem}
}
.ag-pf-dl--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}
@media(max-width:560px){.ag-pf-dl--grid{grid-template-columns:1fr}}

/* ═══ Funding & project detail pages — additions to the .ag-pf system ═══ */
.ag-pf-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid #EEF1EF;border-bottom:1px solid #EEF1EF;background:#FBFCFB}
.ag-pf-facts>div{padding:14px 24px;min-width:0}
.ag-pf-facts>div+div{border-left:1px solid #EEF1EF}
.ag-pf-facts dt{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--ink-2);margin-bottom:4px}
.ag-pf-facts dt svg{color:var(--green)}
.ag-pf-facts dd{margin:0;font-family:var(--fd);font-size:1.0625rem;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.ag-pf-facts+.ag-pf-request{padding-top:18px}
.ag-pf-btn--ghost{background:#fff;color:var(--ink);border:1px solid #D5DDD8;text-decoration:none}
.ag-pf-btn--ghost:hover{background:var(--fresh-l);border-color:var(--green);color:var(--ink)}
.ag-pf-btn--danger{background:#fff;color:var(--red);border:1px solid #F0D4CC}
.ag-pf-btn--danger:hover{background:var(--red-l);color:var(--red-d)}
.ag-pf-sublink{color:var(--green);font-weight:600;text-decoration:none}
.ag-pf-sublink:hover{text-decoration:underline}
.ag-pf-sublabel{margin:12px 0 6px;font-size:.8125rem;font-weight:600;color:var(--ink-2)}
.ag-pf-sublabel:first-of-type{margin-top:0}
.ag-pf-muted--sm{font-size:.875rem;margin:-4px 0 12px}
.ag-pf-org{display:flex;align-items:center;gap:10px;padding:8px;margin:0 -8px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}
.ag-pf-org:hover{background:#F2F5F3}
.ag-pf-org img,.ag-pf-org span{width:34px;height:34px;border-radius:9px;flex-shrink:0;object-fit:cover;border:1px solid #E3E8E5}
.ag-pf-org span{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--green);color:#fff;font-weight:700;font-size:.75rem}
.ag-pf-org b{flex:1;min-width:0;font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-pf-org svg{color:#9AA5A0}
.ag-pf-match{display:inline-block;max-width:220px;padding:3px 9px;border-radius:999px;background:var(--fresh-l);color:var(--fresh-d)!important;font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){
  .ag-pf-facts{grid-template-columns:1fr}
  .ag-pf-facts>div+div{border-left:0;border-top:1px solid #EEF1EF}
  .ag-pf-facts>div{padding:12px 18px}
  .ag-pf-match{display:none}
}
.ag-pf-btn{white-space:nowrap}
.ag-pf-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:600px){.ag-pf-actions{justify-content:flex-start}}
