/* Blood Donor Finder Plugin UI v4 */
:root{
  --bdf-navy:#0A1F5C;--bdf-navy-dk:#061240;--bdf-red:#CC1E1E;--bdf-red-lt:#FFF0F0;
  --bdf-green:#1A7A35;--bdf-grn-lt:#E8F5EE;--bdf-bg:#FFFFFF;--bdf-bg-alt:#F7F8FC;
  --bdf-border:#E2E6F0;--bdf-text:#1A1F36;--bdf-muted:#5A6380;
  --bdf-font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}
#bdf-app{max-width:860px;margin:0 auto;font-family:var(--bdf-font);color:var(--bdf-text);line-height:1.6}
.bdf-steps{display:flex;align-items:center;gap:6px;margin-bottom:24px;flex-wrap:wrap}
.bdf-step-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border:2px solid var(--bdf-border);border-radius:8px;background:var(--bdf-bg);color:var(--bdf-muted);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--bdf-font);white-space:nowrap}
.bdf-step-btn:hover{border-color:var(--bdf-navy);color:var(--bdf-navy);background:var(--bdf-bg-alt)}
.bdf-step-btn.active{background:var(--bdf-navy);color:#fff;border-color:var(--bdf-navy)}
.bdf-sn{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;background:rgba(255,255,255,.2)}
.bdf-step-btn:not(.active) .bdf-sn{background:var(--bdf-bg-alt);color:var(--bdf-muted)}
.bdf-arrow{color:var(--bdf-border);font-size:20px;flex-shrink:0}
@media(max-width:520px){.bdf-arrow{display:none}}
.bdf-screen{display:none}.bdf-screen.active{display:block}
.bdf-screen-h{font-size:19px;font-weight:700;color:var(--bdf-navy);margin:0 0 16px}
.bdf-card{background:var(--bdf-bg);border:1px solid var(--bdf-border);border-radius:10px;padding:22px;margin-bottom:16px;box-shadow:0 1px 4px rgba(10,31,92,.05)}
.bdf-card-title{font-size:15px;font-weight:700;color:var(--bdf-navy);margin:0 0 14px}
.bdf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bdf-filter-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:14px}
@media(max-width:560px){.bdf-form-grid,.bdf-filter-row{grid-template-columns:1fr}}
.bdf-ff{display:flex;flex-direction:column;gap:4px}
.bdf-ff label{font-size:11px;font-weight:700;color:var(--bdf-muted);text-transform:uppercase;letter-spacing:.06em}
.bdf-ff input,.bdf-ff select{padding:9px 12px;font-size:14px;border:1.5px solid var(--bdf-border);border-radius:7px;color:var(--bdf-text);background:var(--bdf-bg);font-family:var(--bdf-font);transition:border-color .15s;width:100%}
.bdf-ff input:focus,.bdf-ff select:focus{outline:none;border-color:var(--bdf-navy);box-shadow:0 0 0 3px rgba(10,31,92,.08)}
.bdf-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.bdf-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:700;border:2px solid var(--bdf-border);border-radius:7px;cursor:pointer;background:var(--bdf-bg);color:var(--bdf-muted);font-family:var(--bdf-font);transition:all .15s;text-decoration:none;white-space:nowrap}
.bdf-btn:hover{border-color:var(--bdf-navy);color:var(--bdf-navy)}
.bdf-btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}
.bdf-btn-red{background:var(--bdf-red)!important;color:#fff!important;border-color:var(--bdf-red)!important}
.bdf-btn-red:hover{background:#991515!important;border-color:#991515!important;color:#fff!important}
.bdf-btn-navy{background:var(--bdf-navy)!important;color:#fff!important;border-color:var(--bdf-navy)!important}
.bdf-btn-navy:hover{background:var(--bdf-navy-dk)!important;border-color:var(--bdf-navy-dk)!important;color:#fff!important}
.bdf-btn-green{background:var(--bdf-green)!important;color:#fff!important;border-color:var(--bdf-green)!important}
.bdf-btn-green:hover{background:#145C28!important;border-color:#145C28!important;color:#fff!important}
.bdf-err{background:var(--bdf-red-lt);border:1px solid rgba(204,30,30,.25);border-radius:8px;padding:12px 14px;font-size:13px;color:#8B1A1A;margin-bottom:14px;display:none;line-height:1.6}
.bdf-err a{color:var(--bdf-red)}.bdf-err ol{margin:6px 0 0 16px}
.bdf-poster{background:#fff;border:1px solid var(--bdf-border);border-radius:10px;overflow:hidden;max-width:420px;margin:0 auto;font-family:Arial,sans-serif}
.bdf-ph{background:var(--bdf-navy);color:#fff;text-align:center;padding:18px 14px}
.bdf-ph h3{font-size:18px;margin:0 0 4px;color:#fff}.bdf-ph p{font-size:12px;opacity:.75;margin:0}
.bdf-pc{width:80px;height:80px;border-radius:50%;background:var(--bdf-red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;margin:16px auto 4px}
.bdf-pcl{text-align:center;font-size:11px;font-weight:700;color:var(--bdf-red);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.bdf-prows{padding:0 16px 12px}
.bdf-pr{background:var(--bdf-bg-alt);border-radius:6px;padding:8px 12px;margin-bottom:7px}
.bdf-prk{font-size:10px;color:var(--bdf-muted);text-transform:uppercase;letter-spacing:.05em}
.bdf-prv{font-size:15px;font-weight:700;color:var(--bdf-text)}
.bdf-pf{background:var(--bdf-red);color:#fff;text-align:center;padding:12px;font-size:12px;font-weight:700;line-height:1.6}
.bdf-pf small{opacity:.8;font-weight:400}
.bdf-msg{background:var(--bdf-bg-alt);border:1px solid var(--bdf-border);border-radius:8px;padding:14px;font-size:13px;white-space:pre-wrap;word-break:break-word;color:var(--bdf-text);line-height:1.7;margin:0;font-family:var(--bdf-font)}
.bdf-dc{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--bdf-border);border-radius:9px;margin-bottom:8px;background:var(--bdf-bg);transition:border-color .15s,background .15s}
.bdf-dc:hover{border-color:rgba(10,31,92,.2);box-shadow:0 2px 8px rgba(10,31,92,.06)}
.bdf-selcard.bdf-sel{border-color:var(--bdf-green);background:var(--bdf-grn-lt)}
.bdf-av{width:40px;height:40px;border-radius:50%;background:var(--bdf-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}
.bdf-di{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.bdf-di strong{font-size:14px;font-weight:700;color:var(--bdf-navy)}
.bdf-di span{font-size:12px;color:var(--bdf-muted)}
.bdf-bb{display:inline-block;padding:2px 7px;border-radius:10px;font-size:11px;font-weight:800;background:var(--bdf-red-lt);color:var(--bdf-red);margin-right:4px}
.bdf-wa{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;background:#E8F5EE;color:#145C28;font-size:13px;font-weight:700;border-radius:8px;text-decoration:none;white-space:nowrap;flex-shrink:0;border:1.5px solid rgba(26,122,53,.2);transition:background .15s}
.bdf-wa:hover{background:#C8EDD5;text-decoration:none;color:#0F4A20}
.bdf-tip-bar{background:#FFF8E6;border:1px solid #F5D878;border-radius:8px;padding:10px 14px;font-size:13px;color:#7A5800;margin-bottom:14px;line-height:1.6}
.bdf-bulk-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bdf-bg-alt);border:1px solid var(--bdf-border);border-radius:8px;margin-bottom:14px;flex-wrap:wrap;gap:10px}
.bdf-info{padding:8px 12px;border-radius:6px;font-size:13px;background:var(--bdf-bg-alt);color:var(--bdf-muted);margin-bottom:12px;border:1px solid var(--bdf-border)}
.bdf-loading{text-align:center;padding:28px;color:var(--bdf-muted);font-size:14px}
.bdf-empty{text-align:center;padding:32px;color:var(--bdf-muted);font-size:14px;line-height:1.7}
.bdf-log-item{font-size:13px;padding:6px 0;border-bottom:1px solid var(--bdf-border);color:var(--bdf-muted)}
.bdf-log-item:last-child{border-bottom:none}
.mt-2{margin-top:12px}.mt-3{margin-top:20px}
@media(max-width:520px){.bdf-dc{flex-wrap:wrap}.bdf-wa{width:100%;justify-content:center;margin-top:4px}.bdf-bulk-bar{flex-direction:column;align-items:flex-start}}

/* v5 additions — cascade filter grid */
.bdf-filter-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;margin-bottom:4px}
@media(max-width:700px){.bdf-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.bdf-filter-grid{grid-template-columns:1fr}}
select:disabled{background:#F0F2F7;color:#9AA0B4;cursor:not-allowed}
