/* UIDI v0.50 — restrained, accessible election finance discovery */
.uidi-election-leaders{margin:24px 0;padding:clamp(16px,3vw,27px);border:1px solid #cbd6e2;border-radius:15px;color:#17283d;background:#fff;box-shadow:0 4px 18px rgba(15,35,55,.045)}
.uidi-election-leaders *{box-sizing:border-box}
.uidi-election-leaders h3,.uidi-election-leaders h4,.uidi-election-leaders h5{color:#17283d;margin:.1em 0 .5em;line-height:1.3}
.uidi-election-leaders h3{font-size:clamp(1.2rem,2.2vw,1.7rem)}
.uidi-election-leaders p,.uidi-election-leaders label,.uidi-election-leaders small{color:#40546b;line-height:1.55}
.uidi-election-leaders small{display:block;font-size:.83rem}
.uidi-leaders-overline{letter-spacing:.09em;font-size:.72rem;color:#365c83;font-weight:750;text-transform:uppercase}
.uidi-leaders-controls{display:flex;flex-wrap:wrap;align-items:end;gap:11px;margin:20px 0 13px}
.uidi-leaders-controls label{display:flex;flex-direction:column;gap:6px;font-size:.86rem;font-weight:650;min-width:120px;flex:1 1 120px}
.uidi-election-leaders select{appearance:auto;width:100%;border:1px solid #9aacc0;border-radius:7px;background:#fff;color:#10253b;padding:10px 11px;min-height:44px;font-size:1rem}
.uidi-election-leaders button{min-height:43px;padding:10px 14px;background:#175482;color:#fff;border:1px solid #175482;border-radius:8px;font-weight:650;font-size:.89rem;cursor:pointer;line-height:1.35;max-width:100%;white-space:normal}
.uidi-election-leaders button:hover{background:#103e64;color:#fff}
.uidi-election-leaders button:focus-visible,.uidi-election-leaders select:focus-visible,.uidi-election-leaders a:focus-visible{outline:3px solid #f0a340;outline-offset:2px}
.uidi-election-leaders button:disabled{background:#dae4ec;color:#263e54;cursor:wait}
.uidi-leaders-status{font-size:.89rem;border-left:3px solid #6692b8;padding:7px 10px;margin:12px 0 16px;background:#f5f9fc;color:#30445b}
.uidi-leaders-output h4{margin-top:17px}
.uidi-leaders-bars{display:grid;gap:8px;background:#f6f9fc;border:1px solid #e0e8f0;border-radius:10px;padding:13px;margin-bottom:17px}
.uidi-leaders-bar-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(45px,1.2fr) minmax(100px,auto);gap:10px;align-items:center;font-size:.84rem}
.uidi-leaders-bar-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uidi-leaders-bar-row>strong{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;color:#23394f}
.uidi-leaders-bar-track{height:10px;border-radius:20px;background:#dbe5ef;overflow:hidden}
.uidi-leaders-bar-track>i{height:100%;display:block;background:#3578a4;border-radius:20px}
.uidi-leaders-cards{display:grid;gap:10px}
.uidi-leaders-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:13px;background:#fff;border:1px solid #d3dde8;padding:15px;border-radius:9px}
.uidi-leaders-candidate h5{font-size:1.02rem;font-weight:750;margin:0 0 3px}
.uidi-leaders-candidate p{margin:0 0 4px;font-size:.9rem}
.uidi-leaders-money{text-align:right}
.uidi-leaders-money>strong{display:block;color:#173f62;font-size:clamp(1rem,1.8vw,1.3rem);font-variant-numeric:tabular-nums}
.uidi-leaders-money>span{display:block;font-size:.75rem;color:#52667a;margin-top:6px}
.uidi-leaders-actions{grid-column:1 / -1;display:flex;gap:7px;align-items:center;flex-wrap:wrap;border-top:1px solid #e6edf4;padding-top:10px}
.uidi-leaders-actions button{min-height:36px;font-size:.81rem;padding:7px 10px}
.uidi-election-leaders a{color:#155c91;text-decoration:underline;font-size:.83rem}
.uidi-leaders-more{margin-top:12px}
.uidi-leaders-more summary{font-weight:750;cursor:pointer;color:#183e60;padding:10px}
.uidi-leaders-caveat{font-size:.82rem;line-height:1.6;background:#f7fafc;border-left:3px solid #9caebf;padding:12px;margin:15px 0}
.uidi-leaders-outside{margin-top:18px;border-top:2px solid #c5d8e6;padding-top:14px;scroll-margin-top:30px}
.uidi-leaders-outside-heading p{font-size:.9rem}
.uidi-leaders-outside-scroll{overflow-x:auto;max-width:100%}
.uidi-leaders-outside table{width:100%;border-collapse:collapse;font-size:.86rem}
.uidi-leaders-outside th,.uidi-leaders-outside td{padding:11px 9px;text-align:left;border-bottom:1px solid #dce5ee;vertical-align:top;color:#24394e}
.uidi-leaders-outside thead th{background:#eaf1f8;color:#24394e;font-size:.79rem}
.uidi-leaders-outside td button{margin-right:7px;margin-bottom:5px;min-height:36px;font-size:.79rem;padding:7px 10px}
.uidi-leaders-outside td a{white-space:nowrap}
@media(max-width:650px){.uidi-election-leaders{padding:14px}.uidi-leaders-card{grid-template-columns:1fr}.uidi-leaders-money{text-align:left}.uidi-leaders-bar-row{grid-template-columns:1fr minmax(60px,1fr)}.uidi-leaders-bar-row>strong{grid-column:2;grid-row:1}.uidi-leaders-bar-track{grid-column:1 / -1}.uidi-leaders-controls>button{flex:1 1 100%}.uidi-leaders-actions button{width:100%}}
