/* Modal */
.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .3s ease}
.modal-overlay.open{opacity:1;pointer-events:auto}
.modal{background:var(--bg-main);border-radius:var(--radius-main);width:100%;max-width:480px;position:relative;transform:translateY(20px) scale(.97);transition:transform .3s ease;max-height:90vh;overflow-y:auto}
.modal-overlay.open .modal{transform:translateY(0) scale(1)}
.modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-main);display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;transition:var(--transition);z-index:1;color:var(--text-muted)}
.modal-close:hover{background:var(--bg-secondary);color:var(--text-main)}
.modal-body{padding:40px}
.modal-body h2{margin-bottom:4px}
.modal-subtitle{color:var(--text-muted);margin-bottom:24px}
.modal-or{text-align:center;margin:20px 0;position:relative}
.modal-or::before,.modal-or::after{content:'';position:absolute;top:50%;width:calc(50% - 60px);height:1px;background:var(--border-color)}
.modal-or::before{left:0}
.modal-or::after{right:0}
.modal-or span{font-size:.85rem;color:var(--text-muted);background:var(--bg-main);padding:0 12px;position:relative}
.modal-messengers{display:flex;gap:12px;justify-content:center}
.modal-messengers .btn{flex:1;justify-content:center}
