/* Components */
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center; z-index:500; padding:1rem; }
.modal { background:var(--surface); border-radius:var(--radius-lg); padding:2rem; max-width:520px; width:100%; box-shadow:var(--shadow-lg); max-height:90vh; overflow-y:auto; }
.modal-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.5rem; }
.modal-close { background:none; border:none; font-size:24px; cursor:pointer; color:var(--text-muted); line-height:1; }
.modal-footer { display:flex; gap:10px; justify-content:flex-end; margin-top:1.5rem; border-top:1px solid var(--border); padding-top:1.25rem; }
.search-input { padding:9px 14px 9px 38px; border:1.5px solid var(--border); border-radius:var(--radius); font-size:14px; background:var(--surface); width:100%; max-width:300px; }
.search-wrap { position:relative; }
.search-wrap::before { content:"🔍"; position:absolute; left:12px; top:50%; transform:translateY(-50%); font-size:14px; }
.section-title { font-size:1rem; font-weight:600; color:var(--text-muted); text-transform:uppercase; letter-spacing:.05em; font-size:12px; margin-bottom:1rem; }
.info-row { display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--border-lt); font-size:14px; }
.info-row:last-child { border-bottom:none; }
.info-label { color:var(--text-muted); }
.info-val { font-weight:500; }
.wa-btn { display:inline-flex; align-items:center; gap:8px; background:#25d366; color:#fff; border:none; padding:10px 18px; border-radius:var(--radius); font-size:14px; font-weight:500; cursor:pointer; transition:background var(--transition); text-decoration:none; }
.wa-btn:hover { background:#1da851; }
