/* GPXHUB — wspólny modal w stylu strony (09-modal.css). */
.gpx-modal { position: fixed; inset: 0; z-index: 1500; display: grid; place-items: center; padding: 1.25rem; }
.gpx-modal[hidden] { display: none !important; }
.gpx-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.72); backdrop-filter: blur(5px); }
.gpx-modal__card { position: relative; width: min(100%, 460px); max-height: calc(100vh - 3rem); overflow-y: auto; padding: 1.6rem 1.6rem 1.4rem; background: var(--card, #141914); border: 1px solid var(--brd, #242b22); border-radius: 18px; box-shadow: 0 25px 80px rgba(0,0,0,.55); }
.gpx-modal__close { position: absolute; top: .9rem; right: .9rem; width: 32px; height: 32px; border: 1px solid var(--brd, #242b22); border-radius: 8px; background: transparent; color: var(--txm, #7a8277); font-size: 1.3rem; line-height: 1; cursor: pointer; }
.gpx-modal__close:hover { color: var(--tx, #f2f4f1); border-color: var(--green, #84cc16); }
.gpx-modal__title { margin: 0 2rem .6rem 0; font-size: 1.15rem; font-weight: 700; color: var(--tx, #f2f4f1); }
.gpx-modal__msg { margin: 0 0 1.2rem; font-size: .92rem; line-height: 1.55; color: var(--tx, #e7ece5); overflow-wrap: anywhere; }
.gpx-modal__copywrap { margin: -.4rem 0 1.1rem; }
.gpx-modal__input { width: 100%; padding: .65rem .8rem; border: 1px solid var(--brd, #242b22); border-radius: 10px; background: var(--elev, #1b211a); color: var(--tx, #f2f4f1); font-size: .85rem; }
.gpx-modal__actions { display: flex; justify-content: flex-end; gap: .6rem; }
.gpx-modal__actions .btn { min-width: 96px; cursor: pointer; }
.gpx-modal__ok--danger { background: #b91c1c !important; border-color: #b91c1c !important; }
@media (max-width: 520px) { .gpx-modal { padding: .75rem; } .gpx-modal__card { padding: 1.25rem; } .gpx-modal__actions .btn { flex: 1; } }
