#estimateContactPicker{box-sizing:border-box;width:min(580px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:0;border:1px solid #cbd5e1;border-radius:16px;color:#172c44;background:#fff;overflow:auto;box-shadow:0 20px 70px #09254340}
#estimateContactPicker::backdrop{background:#102a4666}
#estimateContactPicker .estimate-contact-content{display:grid;gap:14px;padding:20px}
#estimateContactPicker header{display:flex;align-items:center;justify-content:space-between;gap:12px}
#estimateContactPicker h2{margin:0;font-size:20px;line-height:1.4}
#estimateContactPicker p{margin:0;font-size:14px;line-height:1.65}
#estimateContactPicker button{min-height:44px;margin:0;white-space:normal}
#estimateContactPicker [data-contact-close]{flex:none;width:44px;font-size:24px;padding:0}
#estimateContactPicker .estimate-contact-search{display:grid;gap:6px;font-weight:700;font-size:14px}
#estimateContactPicker [data-contact-search]{box-sizing:border-box;width:100%;min-width:0;font-size:16px;min-height:44px;margin:0}
#estimateContactPicker [data-contact-status]{font-size:13px;line-height:1.5;color:#4b6278}
#estimateContactPicker .estimate-contact-list{display:grid;gap:8px;max-height:270px;max-height:min(270px,30dvh);overflow:auto;overscroll-behavior:contain}
#estimateContactPicker .estimate-contact-option{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #d3deeb;border-radius:10px;cursor:pointer;margin:0;background:#f8fafc;min-width:0}
#estimateContactPicker .estimate-contact-option:has(input:checked){border:2px solid #1b65bb;padding:11px;background:#eaf3ff}
#estimateContactPicker input[type=checkbox]{appearance:auto;flex:0 0 22px;width:22px;height:22px;min-height:22px;margin:0;accent-color:#1b65bb}
#estimateContactPicker .estimate-contact-option>span{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere;font-size:14px}
#estimateContactPicker .estimate-contact-option b{font-size:16px}
#estimateContactPicker small{font-size:12px;line-height:1.55;color:#53677c}
#estimateContactPicker .estimate-contact-summary{display:grid;gap:8px;background:#edf5ff;border-radius:10px;padding:14px;font-size:14px}
#estimateContactPicker [data-contact-summary]{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}
#estimateContactPicker .estimate-contact-phone-ack{display:flex;align-items:center;gap:10px;margin:0;color:#8d4600;line-height:1.6}
#estimateContactPicker [hidden]{display:none!important}
#estimateContactPicker footer{position:sticky;bottom:-20px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;background:white;padding:12px 0 0;border-top:1px solid #e1e8f1}
#estimateContactPicker footer button{padding:10px 14px}
#estimateContactPicker button:disabled{opacity:.55;cursor:not-allowed}
#estimateContactPicker :focus-visible{outline:3px solid #79a9e2;outline-offset:2px}
@media(max-width:600px){#estimateContactPicker .estimate-contact-content{padding:16px;gap:12px}#estimateContactPicker h2{font-size:18px}#estimateContactPicker footer{bottom:-16px}#estimateContactPicker footer .primary{flex:1}#estimateContactPicker .estimate-contact-list{max-height:25dvh}}
@media print{#estimateContactPicker{display:none!important}}
