.map-container { position: relative; width: 100%; max-width: 1000px; height: 500px; margin: 0 auto 3rem; border-radius: 16px; overflow: hidden; background: #000; border: 1px solid var(--border-color); box-shadow: var(--shadow-glow), 0 10px 30px -5px rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; } .map-container > div:not(.globe-popup):not(.globe-instructions) { display: flex !important; align-items: center; justify-content: center; } .map-container canvas { outline: none; } .globe-instructions { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); color: rgba(255, 255, 255, 0.5); font-size: 12px; pointer-events: none; user-select: none; background: rgba(0, 0, 0, 0.4); padding: 6px 14px; border-radius: 20px; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); } .globe-popup { display: block !important; position: absolute; top: 20px; right: 20px; width: 220px; background: rgba(15, 23, 42, 0.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 16px; color: #fff; animation: slideIn 0.2s ease-out; box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5); z-index: 10; } .popup-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .popup-header h3 { margin: 0; font-size: 15px; font-weight: 600; color: #fff; } .close-btn { background: none; border: none; color: rgba(255, 255, 255, 0.5); font-size: 20px; cursor: pointer; padding: 0; line-height: 1; transition: color 0.2s; } .close-btn:hover { color: #fff; } .popup-content { display: flex; flex-direction: column; gap: 8px; } .popup-row { display: flex; justify-content: space-between; font-size: 13px; color: rgba(255, 255, 255, 0.7); } .popup-row.highlight { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255, 255, 255, 0.1); font-weight: 600; font-size: 14px; } .status-badge { text-transform: capitalize; font-size: 11px; padding: 2px 8px; border-radius: 10px; background: rgba(255, 255, 255, 0.1); } .status-badge.success { color: #4ade80; background: rgba(74, 222, 128, 0.15); } .status-badge.failed { color: #f87171; background: rgba(248, 113, 113, 0.15); } .status-badge.testing { color: #facc15; background: rgba(250, 204, 21, 0.15); } .status-badge.pending { color: #94a3b8; background: rgba(148, 163, 184, 0.15); } @keyframes slideIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } @media (max-width: 768px) { .map-container { height: 400px; } .globe-popup { top: 10px; right: 10px; width: 180px; padding: 12px; } .popup-header h3 { font-size: 14px; } .popup-row { font-size: 12px; } }