/* ========== MODAL (generic popup) ========== */
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1100}
.modal[hidden]{display:none}
.modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(2px)}
.modal__content{position:relative;z-index:1;width:min(640px,92vw);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:18px}
.modal__close{position:absolute;top:10px;right:10px;width:36px;height:36px;border:none;border-radius:50%;background:#f3f7f9;color:#1a1f1f;cursor:pointer}
.modal__close:hover{background:#eaf2f5}
.modal__head h3{margin:0 0 6px;font-size:20px;font-weight:900;color:#1b1f23}
.modal__head p{margin:0 0 14px;color:#2a2f34}
.modal__form{display:grid;gap:12px}
.modal__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.modal__field{display:flex;flex-direction:column;gap:6px}
.modal__field span{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#47525a}
.modal__field input{border:1px solid #c9d6dc;border-radius:10px;padding:12px 14px;font-size:15px;background:#fff;color:#121417;transition:border-color .15s ease, box-shadow .15s ease}
.modal__field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}
.modal__check{display:flex;align-items:center;gap:8px;font-size:13px;color:#2a2f34}
.modal__check input{width:16px;height:16px}
.modal__check a{color:var(--accent)}
.modal__actions{display:flex;gap:10px;justify-content:flex-start}
.modal__hint{margin:6px 0 0;font-size:12px;color:#5d6770}

