/* DAF+ | Sponsor Index — extends css/style.css */
.dd-wrap { max-width:1200px; margin:0 auto; padding:0 24px; }
.dd-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:16px; margin:32px 0 40px; }
.dd-stat { background:var(--off-white); border:1px solid var(--light-gray); border-radius:var(--radius-md); padding:20px; }
.dd-stat .k { font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--mid-gray); margin-bottom:8px; }
.dd-stat .v { font-family:var(--font-display); font-size:1.75rem; color:var(--navy); line-height:1.1; font-variant-numeric:tabular-nums; }
.dd-stat .s { font-size:.8rem; color:var(--text-light); margin-top:6px; }
.dd-controls { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:20px; }
.dd-search { flex:1 1 280px; padding:12px 16px; border:1px solid var(--light-gray); border-radius:var(--radius-sm); font:inherit; font-size:.95rem; background:var(--white); color:var(--text); }
.dd-search:focus { outline:2px solid var(--teal); outline-offset:1px; border-color:var(--teal); }
.dd-select { padding:12px 14px; border:1px solid var(--light-gray); border-radius:var(--radius-sm); font:inherit; font-size:.9rem; background:var(--white); color:var(--text); }
.dd-count { font-size:.88rem; color:var(--text-light); margin-bottom:12px; font-variant-numeric:tabular-nums; }
.dd-tablewrap { overflow-x:auto; border:1px solid var(--light-gray); border-radius:var(--radius-md); background:var(--white); }
table.dd { border-collapse:collapse; width:100%; min-width:820px; font-size:.9rem; }
table.dd th { background:var(--off-white); text-align:left; padding:13px 14px; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--mid-gray); border-bottom:1px solid var(--light-gray); white-space:nowrap; cursor:pointer; user-select:none; }
table.dd th:hover { color:var(--navy); }
table.dd th[aria-sort="ascending"]::after { content:" \2191"; color:var(--teal); }
table.dd th[aria-sort="descending"]::after { content:" \2193"; color:var(--teal); }
table.dd td { padding:12px 14px; border-bottom:1px solid var(--light-gray); vertical-align:top; }
table.dd tbody tr:last-child td { border-bottom:none; }
table.dd tbody tr:hover { background:var(--off-white); }
.num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.dd-name { font-weight:600; color:var(--navy); }
/* A linked name must look clickable at rest, not only on hover — and the
   difference from a plain name tells you which orgs have a profile page. */
a.dd-name { color:var(--teal); text-decoration:none; }
a.dd-name:hover { color:var(--navy); text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; }
a.dd-name:focus-visible { outline:2px solid var(--teal); outline-offset:2px; border-radius:2px; }
.dd-ein { display:block; font-size:.75rem; color:var(--mid-gray); font-variant-numeric:tabular-nums; margin-top:2px; }
.pay { display:inline-block; padding:3px 9px; border-radius:99px; font-size:.78rem; font-weight:700; font-variant-numeric:tabular-nums; }
.pay-low { background:#FBEAEA; color:#9B2C2C; }
.pay-mid { background:#FFF4E0; color:#8A5A12; }
.pay-ok  { background:#E6F2EE; color:#1B5E4B; }
.pay-hi  { background:#E7EFFA; color:#1B4B8A; }
.pay-na  { background:var(--light-gray); color:var(--mid-gray); }
.dd-flag { font-size:.72rem; color:#8A5A12; background:#FFF4E0; padding:2px 7px; border-radius:4px; white-space:nowrap; }
.dd-note { background:var(--off-white); border-left:3px solid var(--gold); border-radius:0 var(--radius-sm) var(--radius-sm) 0; padding:18px 22px; margin:28px 0; font-size:.9rem; color:var(--text-light); }
.dd-note strong { color:var(--navy); }
.dd-note p { font-size:.9rem; }
.dd-note p:last-child { margin-bottom:0; }
.dd-bars { display:flex; gap:20px; align-items:flex-end; min-height:150px; margin:16px 0 8px; }
.dd-charttitle { font-size:1rem; margin:0 0 4px; }
.dd-bar { flex:1; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:6px; }
.dd-bar .fill { width:100%; max-width:64px; background:var(--navy); border-radius:4px 4px 0 0; min-height:2px; }
.dd-bar.g .fill { background:var(--teal); }
.dd-bar .lab { font-size:.75rem; color:var(--mid-gray); }
.dd-bar .amt { font-size:.78rem; color:var(--navy); font-weight:600; font-variant-numeric:tabular-nums; }
.dd-two { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
@media (max-width:760px){ .dd-two{grid-template-columns:1fr;} }
.dd-back { display:inline-block; font-size:.85rem; margin-bottom:6px; }
.dd-src { font-size:.82rem; color:var(--mid-gray); margin-top:28px; }
.dd-src a { word-break:break-all; }

/* multi-year charts (5+ bars) */
.dd-bars.many { gap:9px; }
.dd-bars.many .dd-bar .fill { max-width:44px; }
.dd-bars.many .amt { font-size:.68rem; letter-spacing:-.01em; }
.dd-bars.many .lab { font-size:.68rem; }
.cvdot { color:var(--gold); font-size:.6em; vertical-align:.32em; margin-left:3px; }

/* factual, not a warning: many exempt orgs never appear in the BMF */
.dd-neutral { display:inline-block; font-size:.72rem; color:var(--mid-gray); background:var(--light-gray);
  padding:2px 7px; border-radius:4px; white-space:nowrap; }

/* Editorial note: hand-written context, deliberately distinct from generated data */
.dd-editnote { background:var(--white); border:1px solid var(--rule, var(--light-gray));
  border-left:3px solid var(--navy); border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  padding:18px 22px; margin:26px 0; }
.dd-editnote-k { font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--mid-gray); margin:0 0 10px; }
.dd-editnote p { font-size:.94rem; margin-bottom:0; color:var(--text-light); }
.dd-notesrc { margin:12px 0 0; padding-left:18px; }
.dd-notesrc li { font-size:.85rem; color:var(--mid-gray); margin-bottom:4px; }
.dd-notesrc a { color:var(--teal); }
